Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Странное поведение регулярного выражения (https://javascript.ru/forum/misc/47511-strannoe-povedenie-regulyarnogo-vyrazheniya.html)

zOdmin 27.05.2014 01:16

Странное поведение регулярного выражения
 
Может, я чего-то не понимаю?
Пытаемся осмысленно заменить все "and" на "&&".

a="asdand andor and ope(and)and asd and(1)";
b=a.replace(/([\(\)\r\n ])+and([\(\)\r\n ])+/g,"$1&&$2");
console.log(b);
alert(b);

Выведет: asdand andor && ope(&&)and asd &&(1)
Жирным выделил то, что должно было быть заменено, но почему-то пропущено.

рони 27.05.2014 01:40

zOdmin,
<script>
a="asdand andor and ope(and)and asd and(1)";
b=a.replace(/(\b)and(\b)/g,"$1&&$2");
console.log(b);
alert(b);

</script>

depp 27.05.2014 01:42

var a="asdand andor and ope(and)and asd and(1)";
var b=a.replace(/\band\b/g,"&&");
console.log(b);
alert(b);

zOdmin 27.05.2014 02:33

Спасибо!

P.S. Хотя всё равно не ясно, почему скобку ")" игнорирует. Чисто из любопытства. Она же вроде была указана в шаблоне.


Часовой пояс GMT +3, время: 04:36.