![]() |
|
IT и Связь Обсуждение "айтишных" вопросов и средств связи |
|
Опции темы | Опции просмотра |
![]() |
#1 |
Активный Участник
|
![]()
Привет!
Perl эксперты, прошу помоши. Столкнулся с постоянно встречаюшейся проблемой исключения значений используя регулярные выражения в Perl. Простой пример навскидку. Есть массив со строчными значениями: us.chicago us.losAngeles us.newYork uk.london ie.dublin ie.cork ee.tallinn ru.moscow Надо выдернуть все КРОМЕ Америки, например. Вот тут как раз загвоздка. В Perlе нет эквивалентного PHPшному "!" (negation). Другая проблема что представленное выражение должно быть как параметр в настройке программы, т.е. манипуляции с "!~" никак НЕ подходят: useRegEx = REGEX[.+] (значение по defaultу - всё) Все становится ещё интереснее, т.к. negative lookbehind работает ТОЛьКО с fixed length. Из Perl документации: (?<!pattern) A zero-width negative lookbehind assertion. For example /(?<!bar)foo/ matches any occurrence of "foo'' that isn't following "bar''. Works only for fixed-width lookbehind. http://www.perl.com/doc/manual/html/pod/perlre.html Как быть? Как сказать "все КРОМЕ ^us\..+"? Заранее благодарю за любую помошь! P.S. Google молчит как мёртвый, и тока повторяет !~ !~ !~ |
![]() |
![]() |
Зарегистрируйтесь или войдите под своим именем, чтобы спрятать этот рекламный блок |
Ключевые слова |
negation, perl, regex |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщ. |
Antique Pattern Library | NEV | Интересы и Увлечения | 3 | 17.04.2008 18:29 |
Phone regular expression pattern | Skiff | IT и Связь | 5 | 20.06.2006 13:20 |
Книгообмен айтишный (Perl => PHP) | KaraNagai | IT и Связь | 22 | 13.09.2005 15:19 |