Регулярные выражения в JavaScript: флаг g (global)

Осваивая регулярные выражения, нельзя забывать про модификаторы, устанавливаемые после них. Таковых три: i — искать независимо от регистра букв (foobar, FooBar и FOOBAR воспринимаются одинаково). m — многострочный режим, который применяется сравнительно редко (см., напр., здесь). А вот на модификаторе g (global) стоит остановиться подробнее, т.к. иногда про него забывают и удивляются неработающему выражению.

Модификатро g применяется, когда поиск нужно произвести глобально, т.е. по всему тексту. Без него регэксп найдет первое вхождение и успокоится. Например, введите в строку браузера Firefox последовательно следующие две строки:

javascript:alert('<br/>111<br/>'.replace(/<br\/>/, ''))


и

javascript:alert('<br/>111<br/>'.replace(/<br\/>/g, ''))


Почувствуйте разницу:



  • +10
  • 19 ноября 2010, 23:56
  • yababay

Комментарии (3)

RSS свернуть / развернуть
+
0
Спецам Явы
avatar

Markony

  • 23 ноября 2010, 10:54
+
0
Неееееет… В рубрику «Это должен знать каждый (веб-дизайнер)»
avatar

yababay

  • 23 ноября 2010, 12:04
+
0
не стоит забывать, что специальные символы, используемые в регулярных выражениях (типа: [,\,*,$,^ ) нужно особым способом экранировать, при передачи искомой строки.
avatar

lukyoung

  • 23 ноября 2010, 17:26

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.