Latest post of the previous page:
Ну когда же?...WARP ItSelf wrote:Взлетело, похоже.
Latest post of the previous page:
Ну когда же?...WARP ItSelf wrote:Взлетело, похоже.
Code: Select all
my @a = ( '1.0 alpha 1', '2.0.0rc2', '1.0.0a', '1.0.0.5' );
for( @a ) {
my @b = split /\W|(?<=\d)(?=\D)/;
print join(', ', @b) . "\n";
}
Code: Select all
1, 0, alpha, 1
2, 0, 0, rc2
1, 0, 0, a
1, 0, 0, 5
В фаре используется +/- PCRE диалект регулярок. За исключением отсутствия поддержки многострочности (ограничение собственно редактора), и части новых вещей стандарта. Поэтому всё просто.
Ищу все строки в которых нет DLL файлов, шаблон "(^.*)(?!dll$)$" выделяет все строки, зато шаблон "(^.*)(?:dll$)$" как раз выделяет только строки с DLL файлами, кои мне надо пропустить. Никто не подскажет, чего я делаю не так?
Вот так работает:ladserg wrote:Чот не могу понять, то ли я неправильный шаблон поиска задаю, то ли еще что. Есть файл со строками вида:
Ищу все строки в которых нет DLL файлов, шаблон "(^.*)(?!dll$)$" выделяет все строки, зато шаблон "(^.*)(?:dll$)$" как раз выделяет только строки с DLL файлами, кои мне надо пропустить. Никто не подскажет, чего я делаю не так?
Проверялось на всех трёх библиотеках.
.*?(?!\.dll$).{4}$|^.{1,3}$
^.*(?!\.dll$).{4}$
тоже работает, а для чего дополнение |^.{1,3}
?Видимо я пока еще не совсем понял эту часть регэкспов :-/Shmuel wrote:Ваши варианты дали результаты, соответствующие им, то-есть плагин выдал то, что ему сказали выдать.
1. Неправильно.ladserg wrote:Всё кажется разобрался, я правильно понял что паттерн вида (?!pattern) выступает как один символ и надо указывать его размер?
Вот так:^.*(?!\.dll$).{4}$
тоже работает, а для чего дополнение|^.{1,3}
?
Попробуйте добавить в файл строчку abc - она не будет выведена без |^.{1,3}$ в паттерне.ladserg wrote:Странно, без него все равно работает как надо :-/Shmuel wrote:2. Для имён короче 4 символов.