Extension:RegexFunctions/ru

The RegexFunctions extension provides regular expression based parser functions.

Использование
As of now, this extension defines three parser functions:,  , and   :


 * string (обязательно) - The text the function uses for the matching.
 * pattern (обязательно) - The regular expression to use on the text.
 * then (обязательно) - What to return if the match was successful. $# and \# contain the captured text. Use ${#}# if you want a group followed by another number.
 * else (по желанию) - What to return if the match was not successful. Defaults to an empty string.
 * then (обязательно) - What to return if the match was successful. $# and \# contain the captured text. Use ${#}# if you want a group followed by another number.
 * else (по желанию) - What to return if the match was not successful. Defaults to an empty string.


 * string (обязательно) - The text the function will split.
 * pattern (обязательно) - The regular expression to use on the text. No text is captured.
 * piece (по желанию) - The piece to return. Defaults to 0 (the first piece). Negative numbers return pieces starting from the end. For example, -1 is the last piece.
 * pattern (обязательно) - The regular expression to use on the text. No text is captured.
 * piece (по желанию) - The piece to return. Defaults to 0 (the first piece). Negative numbers return pieces starting from the end. For example, -1 is the last piece.


 * string (обязательно) - The text the function will replace.
 * pattern (обязательно) - The regular expression to use on the text.
 * replacement (обязательно) - The text to replace the matched text with. $# and \# contain the captured text. Use ${#}# if you want a group followed by another number.
 * pattern (обязательно) - The regular expression to use on the text.
 * replacement (обязательно) - The text to replace the matched text with. $# and \# contain the captured text. Use ${#}# if you want a group followed by another number.

Except for the string parameter, every parameter can be specified either by name or position. Например,. If your wiki's content language is not English, both the English names as well as a translated name may be usable. In addition, every function supports the following named parameters which allow you to modify the behavior of the regex:


 * multiline - If non-empty,  and   match the start and end of each line, rather than the start and end of the entire string.
 * caseless - If non-empty, the pattern is case-insensitive.
 * ungreedy - If non-empty,  and   do not match greedily whereas   and   match greedily.
 * extended - If non-empty, the regex can contain spaces and inline comments. See the PHP documentation in the pattern help section for more information.
 *  dotall - If non-empty,  matches all characters, including newlines. Normally it does not match newlines.

For example,  would result in the output   because   matches both uppercase and lowercase X's when the caseless modifier is set.

Pattern help
For help on constructing the syntax, please read for general help and  for an overview of the modifiers.

Delimiters are not required on the pattern in general and should be omitted for readability where possible, but are required if you would like to specify the single-letter modifiers after the pattern. In this event, the delimiters must be forward slashes (no other delimiter type is supported).

Установка


См. также

 * - an excellent substitute for using nested #replace commands when you need to perform a sequence of replaces on a single text string.
 * - just another regex extension with more functionality but without any customization variables for limitations.