Показать сообщение отдельно
  #1 (permalink)  
Старый 30.01.2010, 18:14
Новичок на форуме
Отправить личное сообщение для bandolero Посмотреть профиль Найти все сообщения от bandolero
 
Регистрация: 30.01.2010
Сообщений: 5

Проблема с кавычкой в регулярном выражении
Товарищи!
Необходимо проанализировать выражение вида
<img id="someId" src="somePlace/someImage.jpg" height="xxx" width="xxx">

с тем, чтобы поменять путь somePlace на некоторый другой.
Если использовать выражение
/(src=['"])[^'"]*(?=\/[a-z0-9_]+\.[jpg|png|gif])/gi,

все работает как положено. Однако если добавить кавычку в конец выражения любым из следующих образов:
/(src=['"])[^'"]*(?=\/[a-z0-9_]+\.[jpg|png|gif])"/gi,
/(src=['"])[^'"]*(?=\/[a-z0-9_]+\.[jpg|png|gif]")/gi,

регулярное выражение перестает искаться.
При этом парадокс в том, что, если кавычку поставить прямо за расширениями файлов:
/(src=['"])[^'"]*(?=\/[a-z0-9_]+\.[jpg"|png"|gif"])/gi,

выражение ищется нормально.

Очень хочется разобраться, в чем же тут дело.
Ответить с цитированием