Поддержка regex в веб-редакторе ограничена реализацией системы Lucene Regex.
Чтобы использовать regex, включите в настройки фильтра. Зеленая галочка в поле ввода фильтра указывает на успешную проверку допустимого regex.
Запросы по умолчанию нечувствительны к регистру. Включите в настройки фильтра, чтобы сделать их чувствительными к регистру.
(обеспечивающее совпадение только полных слов, а не подстрок внутри более длинных слов) недоступно.
Запрос ^abc$ будет работать как ожидается, т. е. обеспечивать совпадение всего сегмента, в то время как будет находить совпадение подстроки abc в любом тексте.
Ограничения
Правильная замена частично отформатированных запросов не поддерживается, например, поиск "Jméno: $1, Příjmení: $2." в тексте "First name<}: Bob, Last name: Dylan." будет заменен на “{>Jméno: Bob, Příjmení: Dylan”
Неподдерживаемые шаблоны
-
Якорь границы слова
\b, используемый для совпадения точных слов (работает в редакторе для компьютера). -
\\[1-9]— обратные ссылки (\1, \2 и т. д.), например,(\w+)\s+\1для совпадения дублирующихся слов, таких как “hello hello” -
\(\?=|\(\?!|\(\?<=|\(\?<!— опережающие и ретроспективные проверки, например,cat(?=\.jpg)для совпадения “cat” только в “cat.jpg” -
\(\?:— незахватывающие группы, например, (?:Mr|Mrs|Ms)\. \w+,, но захватывающие группы(Mr|Mrs|Ms)\. \w+поддерживаются и находят совпадения для имен, таких как “Mrs. Smith”, “Mr. Brown” -
\(\?#— встроенные комментарии, например,\d{4}-(?# year)\d{2}-(?# month)\d{2}(?# day)для совпадения “2025-06-25” -
\(\?P<[^>]+>— именованные группы захвата, например, (?P<amount>\d+)\s?(?P<currency>USD|EUR)для совпадения “150 USD” и “99 EUR”
Точка (.) как заполнитель для любого одиночного символа
-
c.at: Совпадения: “chat”, “coat”. НЕ является совпадением: “cat”, “cheat” -
wa.ter: Совпадения: “waiter”, “waster”. НЕ является совпадением: “water” -
s.ip: Совпадения: “skip”, “ship”, “slip”. НЕ является совпадением: “sip”, “strip”
? - Ноль или одно вхождение
-
colou?r: Совпадения: “color”, “colour” -
g?rain: Совпадения: “grain”, “rain” -
books?: Совпадения: “book”, “books”
.* - Любое количество символов (включая отсутствие)
-
h.*y: Совпадения: “happy”, “history”, “honey” -
sa.*d: Совпадения: “sad”, “sand”, “satisfied” -
m.*ing: Совпадения: “morning”, “meeting”, “marketing”
.+ - Должен присутствовать как минимум один символ
-
pa.+er: Совпадения: “paper”, “painter” -
a.+ed” Совпадения: “asked”, “accepted”, “allowed”
* - Ноль или более вхождений
-
go*al: Совпадения: “goal”, “goooooooal”
+ — Одно или более вхождений
-
no+: Совпадение: “no”, “noooooo” -
$1+: Совпадение: “$1”, “$11”, “$111”
Рекомендуется использовать максимально конкретный шаблон, так как открытые шаблоны могут вызвать проблемы с производительностью в редактор.
Важно
В редактор есть встроенное ограничение на сложность шаблона регулярного выражения. Шаблоны, которые являются слишком широкими или активно используют подстановочные знаки, могут быть отклонены как неверные регулярные выражения. Чтобы избежать этого:
-
Делайте шаблоны короткими и конкретными.
error-[0-9]\{3\}— это хорошо;.*a.*b.*c.*d.*— нет. -
Минимизируйте использование подстановочных знаков. Каждый
.+или.*умножает внутреннюю сложность. По возможности отдавайте предпочтение классам символ, таким как[A-Z]+, вместо.*. -
Избегайте длинных альтернатив с повтор. Шаблон вроде
(word1|word2|...|word20){2,}может быстро превысить лимит. Это усиливается, когда альтернативы включают несколько слов или знаков препинания, что увеличивает сложность регулярного выражения. -
По возможности фиксируйте одну сторону.
^prefix.*гораздо менее затратен, чем.*middle.*.
Если шаблон отклонен, попробуйте сделать его более целевым: начните с более длинного фиксированного префикса и сужайте область поиска оттуда. Рассмотрите возможность сокращения количества альтернатив или их обработки в отдельных шаблонах вместо объединения всего в одно сложное регулярное выражение.
Пример:
Фильтрация для электронная почта:
-
Этот шаблон будет находить пробелы и все окружающие слова, что потенциально приведет к слишком большому количеству совпадение:
.*@.* -
Чтобы ограничить результаты всеми адресами электронная почта:
[\\w.+\\-]+@[\\w.+\\-]+ -
Чтобы ограничить результаты только адресами электронной почты .com:
[\\w.+\\-]+@[\\w.+\\-]\\.com -
Чтобы ограничить результаты теми, у которых есть цифра в адресах электронной почты:
[\\w.+\\-]*\\d+[\\w.+\\-]*@[\\w.\\-]+
-
cat|dog: совпадение с «cat» и «dog» -
red|blue|green: совпадение с «red», «blue», «green»
-
[A-Z]+: совпадение с одной или несколькими заглавными буквами подряд (последовательность). -
[A-Z]{2,}: совпадение с любой серией заглавных букв (полезно, например, для поиска акронимов или Strings, написанных заглавными буквами) -
[0-9]\{4\}: совпадение с четырехзначными числами, например «1999», «2003», «1876» (также находится внутри строки длиннее четырех символов; чтобы ограничить результаты, следует использовать опцию «Match words», запланированную на будущее) -
[A-Za-z0-9]+: совпадение с любой буквенно-цифровой строкой (hello! → hello будет соответствовать, но ! не является частью [A-Za-z0-9]; 100% → будет соответствовать только 100) -
([A-Za-z]+\\d+|\\d+[A-Za-z]+): строгое совпадение с комбинацией цифр и букв, например «user123», «Admin99», «Win11», «5g», «1080p» -
[0-9]{2,4}-[A-Z]{2,3}: совпадение с номерными знаками, например “12-XY”, “9999-ABC”
-
\\+[0-9]{1,2}: совпадение с «+40», «+1» -
\\{version: [0-9]+\\}: совпадение с «{version: 12}», «{version: 13}» -
C:\\\\[A-Za-z]+: совпадение с «C:\\Users», C:\\Documents, «C:\\Desktop»
-
По умолчанию фильтрация регулярными выражениями будет реализована без учета регистра.
c.at: совпадение с «chat», «Chat», «CHAT» и «coat», «Coat», «COAT» -
регулярное выражение можно комбинировать с фильтровать пользовательского интерфейса
Группы захвата регулярных выражений распознаются, и полный запрос подсвечивается, например, s(e)g подсветит \"seg\". Группы захвата можно использовать для замены, например, \"Name: Bob\" можно найти с помощью Name: (.*?) и заменить, используя обратную ссылку на Jméno: $1\". Отсутствующие обратные ссылки обрабатываются корректно, т.е. запрос Name: (.*?) с Заменить Jméno: $1, Title: $2 будет заменен как Jméno: Bob, Title: $2.
Примеры для Заменить обратной ссылки:
-
фильтровать
(\\d+),(\\d+)и Заменить$1.$2для нормализации десятичных разделителей (например, с 5,6 или 35,949 на 5.6 или 35.949) -
фильтровать
(\\d+)\\.(\\d+)и Заменить$1,$2для нормализации десятичных разделителей (например, с 5.6 или 35.949 на 5,6 или 35,949) -
фильтровать
(\\d\{4\})-(\\d\{2\})-(\\d\{2\})и Заменить$3/$2/$1для переформатирования даты (например, с 2025-06-05 на 05/06/2025) -
фильтровать
Идентификатор-(\\d{3,})и ЗаменитьTicket #$1для извлечения номера заявки (например, из в ) -
фильтровать
(cat|dog)и Заменить$1-$1для того, чтобы Дублировать найденный текст (например, из cat в cat-cat и из dog в dog-dog) -
Необязательная группа: фильтровать
Hello(, (\\w+))?и ЗаменитьHi $1для преобразования приветствий путем замены \"Hello\" перед именами или отдельно (например, из в и из в )