LINUX.ORG.RU

Регулярное выражение отсекающее комментарии

 , ,


0

1

Имеется строка к примеру такая:

key "value" # "old value1" # "old value2"

Все, что после # - комментарии. Сейчас код регекспа такой:

m/(\w+)\s+"(.*)"\s*#*/

Он матчит

value" # "old value1" # "old value2

А мне нужно вычленить value



Последнее исправление: by_zero (всего исправлений: 1)

Попробуйте .*? вместо .*. Это сделает поиск строки в кавычках менее жадным и даст ожидаемую подстроку вместо максимально возможной.

Разрешено ли экранирование кавычек? Если да, переходите на более умные парсеры (от Text::ParseWords и до Parse::RecDescent).

AITap ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.