У меня есть скрипт Perl, который выполняет регулярное выражение для поиска метки разметки (<tag>
).Perl end-of-line regex
Мои регулярные выражения: <tag([^>]+)>
Это работает для большинства intances, однако, я нашел один случай, когда он не работает.
Если <tag>
имеет следующее образование ....
<tag
attr="12345">
Регулярное выражение работает отлично.
Однако, если <tag>
выглядит следующим образом.
<tag attr="12345"
>
Нет совпадений. Я тестировал свое регулярное выражение Notepad ++, и он отлично работает для всех экземпляров. Проблема в моем скрипте Perl.
Я попытался использовать несколько концевых якорей, но пока не повезло. Любая помощь высоко ценится!
Отредактировано Это моя строка кода.
$line =~s/<tag([^>]+)>/<!--tag $1-->/g;
Не уверен, что проблема с регулярным выражением. Я пробовал: '$ perl -e 'if (<>. <> = ~/] +)> /) {print" yes \ n "}' yes ' и он работает. Возможно, вам нужно показать больше кода (возможно, небольшую программу воспроизведения). –
ctn
Работает для меня: 'my $ s = qq (); $ s = ~/] +)>/и печатать $ 1; 'дает' attr = "12345" '. –
choroba
Добавил мою строку кода. – Jeff