Page 16 of 28
Posted: Wed Mar 19, 2014 5:32 am
by Instructor
bayzhanov
Убедитесь, что у вас последняя версия редактора - 4.8.7 на текущий момент.
Posted: Wed Apr 02, 2014 10:15 am
by DV
Хотелось бы в регулярных выражениях специальный символ, обозначающий "разделитель слов". (В общем случае, все пробельные символы и знаки препинания.)
Пробовал использовать выражение [^\b] для поиска любых символов, кроме разделителей, но оно с равным успехом находит и знаки препинания, и пробелы, и переносы строк...
Posted: Wed Apr 02, 2014 1:21 pm
by Drugmix
DV wrote:Хотелось бы в регулярных выражениях специальный символ, обозначающий "разделитель слов". (В общем случае, все пробельные символы и знаки препинания.)
[\W]
DV wrote:Пробовал использовать выражение [^\b] для поиска любых символов, кроме разделителей, но оно с равным успехом находит и знаки препинания, и пробелы, и переносы строк...
[\w]
если я правильно понял, что требуется.
Posted: Wed Apr 02, 2014 1:53 pm
by DV
Drugmix
увы, нет, потому что [\W] и [\w] абсолютно не в курсе кириллицы, буквы которой вовсе не являются разделителями...
Posted: Wed Apr 02, 2014 2:46 pm
by Drugmix
DV
а это уже похоже на баг, но если что, то даже с ним можно выкрутиться: надо всего навсего перечислить и кириллические буквы.
1. [^\wа-я]
2. [\wа-я]
Только не знаю поймёт ли акелпадовский regex парсер [а-я] по аналогии с [a-z], но если не поймёт - то надо просто перечислить каждую из букв алфавита.
Posted: Wed Apr 02, 2014 2:53 pm
by Instructor
DV
AkelHistory-Rus.txt wrote:AkelPad 4.8.8 ()
--------------------------
Изменено: метасимвол \w - соответствует любому символу, составляющему слово (любому символу, который не является разделителем).
Изменено: метасимвол \W - соответствует любому символу, не составляющему слово (любому символу, который является разделителем).
Posted: Wed Apr 02, 2014 6:02 pm
by Skif_off
Drugmix wrote:Только не знаю поймёт ли акелпадовский regex парсер [а-я] по аналогии с [a-z]
Поймет, я так делал для log.coder, кажется, в 4.8.5 (потом убрал, но помню, что работало).
Instructor
Не слишком радикально?

В разных языках имена жестко детерминированы, теперь \w придется разворачивать гораздо чаще, чем добавлять кириллицу, например.
Posted: Thu Apr 03, 2014 9:40 am
by Serge Yolkin
Для кириллицы ещё "ё" добавлять надо (вроде бы) - в диапазон [а-я] она входить не должна: [ёа-я]
Posted: Thu Apr 03, 2014 6:44 pm
by Skif_off
Instructor wrote:Изменено: метасимвол \w - соответствует любому символу, составляющему слово (любому символу, который не является разделителем).
Изменено: метасимвол \W - соответствует любому символу, не составляющему слово (любому символу, который является разделителем).
Т.к. \W - это все, что перечислено в
Параметры/
Редактор 2, а \w - все остальное?
Posted: Thu Apr 03, 2014 7:30 pm
by Drugmix
\d = цифры, \D = не цифры
\w = alphanumeric (цифры, буквы и _), \W = не alphanumeric
\s = whitespace chars ("пробельные" символы), \S = не whitespace chars
\b = word boundary (стык между \w и \W), \B = не word boundary
Posted: Wed Jun 04, 2014 2:23 pm
by DrakonHaSh
можно ли добавить модификатор (?-s) [выключает режим соответствия точки символам переноса строки и возврата каретки] чтобы для поиска внутри строк не надо было *в каждом месте* использовать подобные выражения:
[^\n\r]+?
Posted: Mon Jun 16, 2014 4:46 pm
by Instructor
Posted: Mon Jun 30, 2014 9:44 am
by DrakonHaSh
Спасибо!
на релизе 4.8.9 работает
Posted: Thu Aug 07, 2014 9:33 am
by YuS
Столкнулся с непонятным поведением движка регэкспов.
Регэксп:
в обратных ссылках игнорирует границы слова, либо их просто не захватывает шаблон группы. Тестовый массив:
Code: Select all
test test test test
test ttestt test etestt
ttestt test
ttestt tttesttt
1test2 1test2 1test2 21test21
tetst tetst tetst
- возможно так и должно быть, ибо встречалось такое поведение не только в движке регулярок AP. Например
здесь.
Если использовать так:
то захватывает текст более ожидаемо.
Posted: Thu Aug 07, 2014 12:29 pm
by DV
Дабы не затерялось в теме по плагину Coder, продублирую обнаруженную проблему здесь:
viewtopic.php?t=1495&start=835