Программирование > Регулярные выражения

Вырезка текста

<< < (2/7) > >>

Yukko:

--- Цитировать ---metton:
что метасимвол \'?\' здесь излишен?
--- Конец цитаты ---

лишний!

Phoinix:
Может и лишний, но хуже от него не становится...
После доработки пришел к такому решению:

$text =~s /.*\\[s\\:\\s*(([1-2A-Za-zА-Яа-яё\\d]+)|([A-Za-zА-Яа-яё\\d]+[A-Za-zА-Яа-яё\\s\\d]+[A-Za-zА-Яа-яё\\d]+))\\s*\\](.*?)|(.*\\n?)/$1/gi;

Вот только меня группа [А-Яа-яё] смущает... никто не знает как она выглядит в HEX формате?

metton:
2Phoinix
Просто из любопытсва: а как у тебя с первоначальным выражением $text получился равным \'Some text 2\'?

PS: зря ты всё-таки не слушаешь совета (убрать \'?\'). Этот метасимвол здесь воообще ни на чо не влияет - так зачем лишний символ и лишняя работа парсеру?

Phoinix:
metton
сложно сказать, но одно время работало... проверять не стал, т.к. перешел на второй вариант, но он тоже не подошел... т.к. в тексте может еще сущестовать символы ]

Мало того, я еще думаю в начале поставить ^ - что бы было понятно.
IMHO это не лишняя работа парсеру, а ограничивание вариантов для парсера

metton:
2Phoinix
Понимаешь, в данном контексте ((.*?)) метасимвол \'?\' ничего не ограничивает. Он означает ноль или один символ (предшествующий ему), а метасивол \'*\' означает ноль или более симолов. Следовательно, \'?\' не играет в данном контексте НИКАКОЙ РОЛИ!

Навигация

[0] Главная страница сообщений

[#] Следующая страница

[*] Предыдущая страница

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии