Какие настройки на этом сайте надо вбивать справа (и/или сверху) от строки выражения, чтобы было почти эквивалентно акельпадным регулярным выражениям:
а) в coder файлах;
б) в строках поиска и searchandreplace.js?
Сомневаюсь, что полное совпадение получится, потому как в AP есть свои особенности реализации, как и в searchandreplace, но основное это:
или PCRE, или javascript c модификатором gmi
Причем для PCRE можно добавлять ещё и другие модификаторы - справа от поля ввода есть знак вопроса, при наведении на который появляется подсказка с расшифровкой о возможных модификаторах для конкретного диалекта.
Забавно, но из двух предложенных форм записи первая (та, что с квадратными скобками) безопаснее: в случае некорректных регулярок первая просто не работает, вторая завешивает AkelPad... А в целом функционал полезный. Спасибо.
Ещё вопрос: а можно ли в условии (?<...) определить, что фрагменту предшествует фрагмент, ранее захваченный другим (или тем же самым) регулярным выражением?
Serge Yolkin wrote:Ещё вопрос: а можно ли в условии (?<...) определить, что фрагменту предшествует фрагмент, ранее захваченный другим (или тем же самым) регулярным выражением?
Нет, если речь о QuotesRE, т.к. правило действует только внутри строки.
Instructor
Я и имел в виду "внутри строки": начало строки уже подсвечено правилом ^aaa, можно ли подсветить в той же строке bbb только при условии, что перед bbb идет уже подсвеченый блок, а если не идёт - не подсвечивать.
С новой тестовой потестируюсь только завтра, сегодня, к сожалению, не смогу.
Last edited by Serge Yolkin on Fri Jan 10, 2014 5:41 pm, edited 1 time in total.
Instructor
Уронить тестовую не удалось. Старался. Снимаю шляпу.
В продолжение вопроса о границе ранее захваченного диапазона в той же строке: если это возможно, предложил бы новую сущность, например "\h" (по аналогии с "\b") - граница ранее захваченного диапазона (как другим правилом, так и одной из предыдущих итераций текущего). Резон: ^ и \b съедаются, если захвачены, т.е. после ^\d+ нельзя обратиться к ^ (?<=^....), так хоть к \h тогда... Ну, и \H для комплекта.
Instructor
а почему [^\n\r]+10 не находит "2014-01-10"?
Похоже, что + сейчас работает как ++, т.е. как ревнивая (или супержадная) квантификация.
Может стоит её реализовать отдельно?
AkelHelp-Rus.htm wrote:- Квантификаторы регулярных выражений (*, +, {n,}) являются по умолчанию жадными (кроме одинарной точки, например, ".*" или ".{5,10}"). Чтобы сделать их нежадными (старый принцип), используется "?" после квантификатора, например, "\d*?".
- Жадные регулярные выражения AkelPad'а выполняются последовательно. Например, шаблон "ab?b" в "abc" не имеет совпадений, т.к. "ab?" соответствует "ab" и последующее "b" не имеет совпадений. Корректный шаблон, в данном случае, будет "abb?".