Regex, если в начале строки нет слова
Подскажите как сделать такую регулярку
Строка /upload/folder/4/7/pic.jpg Или /upload/folder/4/7/pic.png Нужно вернуть true при поиске jpg если перед нам нет /upload/folder/ Т.е. обратное данной регулярке /\/upload\/folder\/(?!jpg|png)/ |
/^[^\/upload\/folder\/](?!jpg|png)/ |
Можно так:
alert( '/bla-bla/4/7/pic.jpg'.match( /(\/upload\/folder\/)|\.jpg/ )[1] ? false : true ); alert( '/upload/folder/4/7/pic.jpg'.match( /(\/upload\/folder\/)|\.jpg/ )[1] ? false : true ); |
Не пойму, что ж я не так делаю?
console.log(/^[^\/upload\/folder\/](?!jpg|png)/.test('/upload/folder/4/7/pic.jpg')); console.log(/^[^\/upload\/folder\/](?!jpg|png)/.test('/ffff/pic.jpg')); Везде false |
webphp,
function fn(str) { return !/upload\/folder/.test(str) && /jpg$/.test(str) } alert(fn('/upload/folder/4/7/pic.jpg')); alert(fn('/ffff/pic.jpg')); |
Часовой пояс GMT +3, время: 08:34. |