Товарищи!
Необходимо проанализировать выражение вида
<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,
выражение ищется нормально.
Очень хочется разобраться, в чем же тут дело.