Модуль:Regex/doc
Это страница документации Модуль:Regex.
| doc |
Выполняет поиск или замену с помощью регулярного выражения
- Автор:
- Александр Машин
1:- Строка для поиска или замены
flavour:- разновидность регулярного выражения (pcre2, posix, и т.д.)
subpattern:- номер захвата, который должен возвратить успешный поиск
sep:- разделитель между найденными подстроками
template:- шаблон, которым должны быть обёрнуты найденные значения
intro:- строка, вставляемая перед найденными значеняими
outro:- строка, подставляемая после найденных значений
default:- значение по умолчанию, возвращаемое вместо найденных значений
limit:- максимальное количество возвращённых совпадений
Найденные значения или строка, в которой произведены замены
Синтаксис:{{#invoke:Regex|doc
| Строка для поиска или замены
| flavour = разновидность регулярного выражения (pcre2, posix, и т.д.)
| subpattern = номер захвата, который должен возвратить успешный поиск
| sep = разделитель между найденными подстроками
| template = шаблон, которым должны быть обёрнуты найденные значения
| intro = строка, вставляемая перед найденными значеняими
| outro = строка, подставляемая после найденных значений
| default = значение по умолчанию, возвращаемое вместо найденных значений
| limit = максимальное количество возвращённых совпадений
}} Функция, производящая поиск по регулярному выражению в переданной строке, или поик и замену, в том числе, последовательную.
Знак | в регулярном выражении надо заменить на {{!}}. Знак = надо заменить на {{=}} или использовать синтаксис 2 = /regex/.
В строке замены захваты начинаются с %.
Примеры
| Викитекст | Результат |
|---|---|
| Поиск | |
{{#invoke:Regex|regex|а,б,в,г|%[аб]%u|sep=,}} |
String "%[аб]%u" is not expected here. |
{{#invoke:Regex|regex|one, two, three|%\w+%|template=lang-en|sep=, <nowiki />}} |
англ. one, англ. two, англ. three |
{{#invoke:Regex|regex|а,б,в,г|%(?:^{{!}},)(.*?)(?:,{{!}}$)%u}} |
,)(.*?)(?:,|$)%u" is not expected here. |
| Замена | |
{{#invoke:Regex|regex|а,б,в,г|%[аб]%u|[[%0]]|limit=1}} |
String "%[аб]%u" is not expected here. |
{{#invoke:Regex|regex|а,б,в,г|%[аб]%u|[[%0]]}} |
String "%[аб]%u" is not expected here. |
{{#invoke:Regex|regex|а,б,в,г|%(?:^{{!}},)(.*?)(?:,{{!}}$)%|[[%1]]}} |
абвг |
| Многострочный синтаксис | |
{{#invoke:Regex|regex|Александр, Константин, Николай, Михаил
| /(
Александр
{{!}} Николай
)/x = царь
| /Михаил/ = великий князь
| /Константин/ = цесаревич
}}
|
царь, цесаревич, царь, великий князь
|