Perl регулярное выражение для соответствия шаблону - PullRequest
0 голосов
/ 10 марта 2011

Мне нужно сопоставить строку что-то вроде

$filecontents = test-app-ref-Man_pub_aut_art_1234;

Мой regex примерно такой, но он не работает: может кто-нибудь помочь мне с регулярным выражением, что я здесь делаю неправильно.Обратите внимание, что я читаю весь файл как строку, и это одна из строк.

while($filecontents =~ m/(test)(-|_)(.*)(_\d{4,})$/isgm){
    print " String10 : '$1$2$3$4'\n";
}

Ответы [ 2 ]

3 голосов
/ 10 марта 2011

похоже, что вы ожидаете, что строка заканчивается 4 цифрами, но ваша строка на самом деле заканчивается 4 цифрами, затем точка с запятой. добавить точку с запятой перед $

0 голосов
/ 10 марта 2011

Попробуйте это, работал для меня в Excel

(-|_)?.*_\d{4}

Результат для данной строки:

* * 1006 тест-приложение-реф-* Man_pub_aut_art_1234 1007 ** * 1008

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...