Обычно . не соответствует символу новой строки, если я не укажу движок для этого с флагом (? S ).Я попробовал это регулярное выражение на движке моего редактора (UltraEdit v14.10), используя режим регулярного выражения в стиле Perl:
(?s).*i
Текст поиска содержит несколько строк, и каждая строка содержит много символов «i».
Я ожидаю, что приведенное выше регулярное выражение означает: ищите как можно больше символов (потому что с ? S '. теперь соответствует чему угодно, включая перевод строки)жадность *) до достижения символа «я».
Это должно означать «от первого символа до последнего« i »в последнем предложении» (жадность должна доходить до последнего предложения, верно?).
Нос помощью теста UltraEdit получается «от первого символа до последнего« i »в первом предложении, которое содержит i».Это правильный результат?Неужели я неправильно интерпретировал выражение reg?
, например, учитывая, что этот текст
aaa
bbb
aiaiaiaiaa
bbbicicid
соответствует
aaa
bbb
aiaiaiai
.Но я ожидаю:
aaa
bbb
aiaiaiaiaa
bbbicici