Total commander регулярные выражения
Регулярные выражения — очень мощный инструмент для поиска текстовых строк и проверки соответствия их шаблону. Они позволяют искать слова по сложным критериям. Регулярные выражения предназначены главным образом для профессионалов, однако могут быть полезны и при работе в офисе для поиска определённых документов.
Total Commander поддерживает регулярные выражения в следующих функциях:
Команды — Поиск файлов (в имени и содержимом файла).
Во внутренней программе просмотра.
В инструменте группового переименования.
При выделении файлов по маске.
Регулярные выражения состоят из обычных символов и специальных символов, так называемых метасимволов. Следующие символы — это метасимволы или их начальные части:
. ( ) [ ] < >^ $ + * ? (кроме того, только в определении множеств символов: — ).
Обычные символы.Любой обычный символ означает сам себя, то есть в искомой строке должен находиться в точности этот символ и ничто иное. То же самое относится к нескольким обычным символам, идущим подряд.
Пример:
тест находит строку "тест" в исследуемом тексте. Обратите внимание: "тест" при этом обнаруживается В ЛЮБОМ МЕСТЕ имени файла или текстовой строки.
Escape-последовательность начинается с обратной косой черты .
Варианты Escape-последовательностей:
t Символ табуляции;
xnn Символ с шестнадцатеричным ASCII-кодом nn. Пример: x20 — символ пробела. Таблица символов Windows (если она установлена, её запускаемый файл — charmap.exe) показывает символьные коды большинства специальных символов. Вы можете использовать калькулятор Windows в инженерном режиме для преобразования десятичных значений в шестнадцатеричные;
[ Левая квадратная скобка. Поскольку квадратные скобки — метасимволы, они должны быть записаны как [ для поиска их в целевой строке;
\ Найти обратную косую черту;
. Найти точку (символ "." является метасимволом и служит для поиска произвольного символа).
Примеры:
Вx20начале находит ‘В начале’ (обратите внимание на пробел).
tВначале находит ‘Вначале’ с предшествующей табуляцией.
Множества символов. Символы в квадратных скобках задают множества символов. Будет найден ровно один символ из перечисленных. Чёрточка позволяет определять группы, например [a-z] — это все 26 малых латинских букв. При указании ^ в качестве первого символа множества идёт поиск всех символов, кроме перечисленных.
Если необходимо включить во множество саму чёрточку, поместите её в начало или конец списка или предварите символом обратной косой черты: ‘-‘. Если необходимо добавить во множество сам символ ‘]’, поместите его в самое начало или, точно так же, поставьте перед ним обратную косую черту: ‘]’.
Примеры:
[аеиоу] Находит ровно одну из перечисленных гласных;
[^аеиоу] Находит любой символ, кроме этих гласных;
M[ae][iy]er Находит фамилию "Meier" во всех возможных способах написания: Mayer, Meyer, Maier, Meier. Очень полезно, если вы не можете вспомнить точное написание имени.
Метасимволы.
Вот список наиболее важных метасимволов:
w Алфавитно-цифровой символ или знак подчёркивания ‘_’;
W Дополнение к w, т.е. любой символ, кроме алфавитно-цифровых и подчёркивания;
D Дополнение к d (не цифра);
s Разделитель между словами (пробел, табуляция и пр.);
S Дополнение к s (любой символ, кроме разделителей);
b Указывает границу слова;
B Указывает, что данная позиция не является границей слова.
Метасимвол границы слова (b) означает, что в том месте, где он находится, обязательно должно быть либо начало, либо конец слова. Метасимвол B, напротив, означает, что в указанном месте границы слова быть не должно.
Пример:
Выражение abcb найдёт подстроку ‘abc’ в строке ‘xabc def’ и не найдёт ничего в строке ‘xabcdef’. Выражение abcB, наоборот, ничего не найдёт в ‘xabc def’ и обнаружит подстроку ‘abc’ в строке ‘xabcdef’.
Итераторы (метасимволы повторов) используются для повторения символа или выражения, находящегося слева от итератора.
* Ноль или более вхождений, то же что и ;
? Ноль или одно вхождение, то же что и ;
+ Одно вхождение или более, то же что и ;
Ровно n вхождений;
Не менее n вхождений;
Не менее n и не более m вхождений.
Все эти операторы "жадные". Это означает, что они захватывают максимально возможное число символов. Размещение вопросительного знака ? после оператора делает его "не жадным", то есть захватывающим символы не более необходимого минимума.
Пример: ‘b+’, как и ‘b*’, применённые ко входной строке ‘abbbbc’ найдут ‘bbbb’, в то время как ‘b+?’ найдёт только ‘b’, а ‘b*?’ — вообще пустую строку; ‘b’ найдёт ‘bbb’, в то время как ‘b?’ найдёт ‘bb’.
Если фигурные скобки встречаются в "неправильном" месте, где они не могут быть восприняты как итератор, то они воспринимаются как обычные символы.
Варианты (альтернативы) помещаются в круглые скобки и разделяются вертикальной чертой.
В качестве первого варианта воспринимается всё от предыдущего метасимвола "
(" или "[" или от начала выражения до первого метасимвола "|", в качестве последнего — всё от последней вертикальной черты "|" до конца выражения или до ближайшего метасимвола ")".
Варианты пробуются, начиная с первого. Попытки завершаются, как только удастся подобрать такой вариант, при котором совпадет вся последующая часть выражения. Это означает, что варианты не обязательно обеспечат "жадное" поведение.
Пример: по вариантам (Иоанн|Иаков|Пётр) обнаруживается одно из имён: Иоанн, Иаков или Пётр.
Следует знать, что метасимвол "|" воспринимается как обычный символ внутри множеств символов. Например, [бак|бок|бук] означает ровно то же самое что и [
баоук|].
Подвыражения для поиска+замены. Текстовые фрагменты в круглых скобках считаются подвыражениями. Подвыражения нумеруются слева направо, в порядке появления открывающих скобок.
Пример:
Чтобы поменять местами заголовок и пояснение в имени mp3-файла, когда они разделены чёрточкой (Заголовок — Пояснение.mp3), можно поступить следующим образом:
Заменить на: $2 — $1.mp3.
Здесь $1 означает текст в первых скобках, а $2 — текст во вторых скобках.
n Указывает на повторное вхождение подвыражения номер n. Здесь n — число от 1 до 9.
Примеры:
(.)1+ Находит, например, ‘aaaa’ и ‘cc’.
(.+)1+ Находит, например, ‘abab’ (где в первый раз ‘ab’ находится посредством .+ и во второй — посредством 1+ ) и ‘123123’.
Модификаторы используются для изменения поведения регулярных выражений.
(?i) Отключает проверку верхнего/нижнего регистра. В Total Commander это значение включено по умолчанию для имён файлов.
(?-i) Включает проверку регистра.
(?g) Переключение на "жадный" режим (активно по умолчанию).
(?-g) Выключение "жадного" режима, после чего "+" будет означать то же, что и "+?".
‹ Избранные каталоги
Вверх
Внутренний просмотрщик меню "Опции" и меню "ХХХ%" ›
Regular expressions are a very powerful search tool. They allow to search for complex classes of words. Regular expressions are mainly meant for professionals, but can also be useful in the office for finding certain documents (see examples below).
Total Commander supports regular expressions in the following functions: - Commands - Search (in file name and file contents) - In Lister - In the Multi-Rename tool - In the selection dialog
Regular expressions consist of normal characters and special characters, so-called meta-characters. The following characters are meta-characters or initial parts of meta-characters:
Немного слов от себя
Если Вы захотите сделать поиск по файлам (по названию файла) в определенных файлах (в моем случае мне нужны были php и js файлы), то вот выражение, которое мне помогло: Т.е. выходит так, что ни какие скобки мне там не помогли. Надо просто каждое выражение отделять точкой с запятой и тогда все получится. В общем для IT`шников все интуитивно! =)
Регулярные выражения — очень мощный инструмент для поиска текстовых строк и проверки соответствия их шаблону. Они позволяют искать слова по сложным критериям. Регулярные выражения предназначены главным образом для профессионалов, однако могут быть полезны и при работе в офисе для поиска определённых документов (см. примеры ниже).
Регулярные выражения состоят из обычных символов и специальных символов, так называемых метасимволов. Следующие символы — это метасимволы или их начальные части:
Любой обычный символ означает сам себя, то есть в искомой строке должен находиться в точности этот символ и ничто иное. То же самое относится к нескольким обычным символам, идущим подряд.
тест находит строку "тест" в исследуемом тексте. Обратите внимание: "тест" при этом обнаруживается В ЛЮБОМ МЕСТЕ имени файла или текстовой строки.
\ xnn Символ с шестнадцатеричным ASCII-кодом nn. Пример: \x20 — символ пробела. Таблица символов Windows (если она установлена, её запускаемый файл — charmap.exe) показывает символьные коды большинства специальных символов. Вы можете использовать калькулятор Windows в инженерном режиме для преобразования десятичных значений в шестнадцатеричные.
\[ Левая квадратная скобка. Поскольку квадратные скобки — метасимволы, они должны быть записаны как \[ для поиска их в целевой строке.
\ . Найти точку (символ "." является метасимволом и служит для поиска произвольного символа, см. ниже).
Символы в квадратных скобках задают множества символов. Будет найден ровно один символ из перечисленных. Чёрточка позволяет определять группы, например, [ a-z ] — это все 26 строчных латинских букв. При указании ^ в качестве первого символа множества идёт поиск всех символов, кроме перечисленных.
Если необходимо включить во множество саму чёрточку, поместите её в начало или конец списка или предварите символом обратной косой черты: ' \- '. Если необходимо добавить во множество сам символ ' ] ', поместите его в самое начало или, точно так же, поставьте перед ним обратную косую черту: ' \] '.
M [ ae ][ iy ] er Находит фамилию "Meier" во всех возможных способах написания: Mayer, Meyer, Maier, Meier. Очень полезно, если вы не можете вспомнить точное написание имени.
Modifiers
Modifiers are used for changing behaviour of regular expressions.
(?i) | Ignore Upper-/lowercase. In Total Commander, this is the default for file names. |
(?-i) | Case-sensitive matching. |
(?g) | Switches on "greedy" mode (active by default) |
(?-g) | Turns off "greedy" mode, so "+" means the same as "+?" |
The other modificators are not relevant for Total Commander, because the program only supports searching within one line.
Регулярные выражения
Регулярные выражения являются очень мощным инструментом поиска. Они позволяют искать сложные комбинации слов. Регулярные выражения в основном предназначены для профессионалов, но также могут быть полезными и для начинающих для поиска определенных документов (см. примеры ниже).
Total Commander поддерживает регулярные выражения в следующих функциях:
- Команды (Commands) → Поиск файлов (Search). Поиск позволяет найти файл по имени файла и/или содержимому файла
- В Lister
- В инструменте группового переименования
- В диалоге выбора
Регулярные выражения состоят из обычных символов и специальных символов, так называемые мета-символы. Следующие символы являются мета-символами или их можно назвать начальные участки мета-символов:
, \ () [] <> ^ $ + *? (только в символьных классах: -)
Модификаторы
Модификаторы используются для изменения поведения регулярных выражений.
(?i) - Игнорировать прописные/строчные буквы. В Total Commander, это по умолчанию для имен файлов.
(?-i) - Чувствительность к регистру.
(?g) - Включение режима "жадный" (включен по умолчанию)
(?-g) Выключение режима "жадный", так что "+" означает то же самое, как "+".
Другие модификаторы не имеют отношения к Total Commander, потому что программа поддерживает поиск по регулярным выражениям ТОЛЬКО В ОДНОЙ СТРОКЕ.
Total Commander использует свободные Delphi библиотеки "TRegExpr" от Андрея В. Сорокина
Некоторые из приведенных выше объяснений взяты из файла справки для этой библиотеки.
Where do I place my regex to search for files? + how to post questions properly
Post by *marceepoonu » 2019-11-09, 17:33 UTC
Where should I be placing my Regular-Expression?
Horst.Epp Power Member
Posts: 4880 Joined: 2003-02-06, 17:36 UTC Location: Germany
Post by *Horst.Epp » 2019-11-09, 18:10 UTC
Windows 11 Home x64 Version 21H2 (OS Build 22000.675)
TC 10.50b5 x64 / x86
Everything 1.5.0.1312a (x64)
DrShark Power Member
Posts: 1869 Joined: 2006-11-03, 22:26 UTC Location: Kyiv, 68/262 Contact:
Post by *DrShark » 2019-11-11, 07:08 UTC
Horst.Epp wrote: ↑ 2019-11-09, 18:10 UTC That works enabling Everything and using its syntax in TC search for.
I haven't used Everything yet, and have a question: so TC and Everything RegEx syntax is different? Which one is more powerful?
Donate for Ukraine to help stop Russian invasion!
Ukraine's National Bank special bank account:
UA843000010000000047330992708
Horst.Epp Power Member
Posts: 4880 Joined: 2003-02-06, 17:36 UTC Location: Germany
Post by *Horst.Epp » 2019-11-11, 09:08 UTC
Horst.Epp wrote: ↑ 2019-11-09, 18:10 UTC That works enabling Everything and using its syntax in TC search for.
I haven't used Everything yet, and have a question: so TC and Everything RegEx syntax is different? Which one is more powerful?
Windows 11 Home x64 Version 21H2 (OS Build 22000.675)
TC 10.50b5 x64 / x86
Everything 1.5.0.1312a (x64)
Stefan2 Power Member
Posts: 3499 Joined: 2007-09-13, 22:20 UTC Location: Europa
Post by *Stefan2 » 2019-11-11, 09:10 UTC
marceepoonu wrote: ↑ 2019-11-09, 17:33 UTC when I tried to run that Regular-Expression
in a Total Commander search window, I got an error message,
Open the search and press the F1 key.
Scroll down till "RegEx Search in file names using regular expressions. "
Click at " regular expressions. " and read which syntax TC uses and support.
Write your regex just in the "Search for:" box and check the [x]RegEx option.
tuska Power Member
Posts: 2762 Joined: 2007-05-21, 12:17 UTC
Post by *tuska » 2019-11-11, 10:22 UTC
'Everything' uses the Perl Compatible Regular Expressions (PCRE) engine.
['Everything': Menu "Help" - "About Everything CTRL+F1" - "License"]
Ovg Power Member
Posts: 729 Joined: 2014-01-06, 16:26 UTC Location: Mrdr
Post by *Ovg » 2019-11-11, 11:48 UTC
2DrShark
TC regex engine doesn't support lookahead and lookbehind
Post by *marceepoonu » 2019-11-11, 23:13 UTC
petermad Power Member
Posts: 11294 Joined: 2003-02-05, 20:24 UTC Location: Valsted, Denmark Contact:
Post by *petermad » 2019-11-12, 00:10 UTC
Modifiers are used for changing behaviour of regular expressions.
(?i) Ignore Upper-/lowercase. In Total Commander, this is the default for file names.
(?-i) Case-sensitive matching.
(?g) Switches on "greedy" mode (active by default)
(?-g) Turns off "greedy" mode, so "+" means the same as "+?"
I think that: (?=\.vbs) is considered a modifier by TC, but only the modifiers here above are allowed.
Ovg Power Member
Posts: 729 Joined: 2014-01-06, 16:26 UTC Location: Mrdr
Post by *Ovg » 2019-11-12, 05:14 UTC
Post by *marceepoonu » 2019-11-13, 22:15 UTC
marceepoonu wrote: ↑ 2019-11-09, 17:33 UTC when I tried to run that Regular-Expression
in a Total Commander search window, I got an error message,
Write your regex just in the "Search for:" box and check the [x]RegEx option.
Next, I formulated this regular expression search in RegexBuddy, using the PCRE 8.39 UTF-32 flavor regular expressions.
This image Image: https://drive.google.com/file/d/17bchFMFGR958oClgbB3jsW8vTuu0Elbd/view?usp=sharing shows that the regular expression matches the highlighted files located in the directory "E:\Apps\UtilitiesByMarc", according to RegexBuddy.
Lastly, I selected the General tab in TC, and then I clicked the "Start search" button
But as this image Image: https://drive.google.com/file/d/17bchFMFGR958oClgbB3jsW8vTuu0Elbd/view?usp=sharing reflects, TC's "Search results" window shows "[No files found]"
So I'm no longer getting an error message, but my question now is what do I need to do differently, so that I can search for files in that directory (E:\Apps\UtilitiesByMarc) using the regular expression below, which is an acceptable search in the PCRE 8.39 UTF-32 flavor of regular expressions?
((.+?)?(?=\.vbs) ) ( .vbs) $
Ovg Power Member
Posts: 729 Joined: 2014-01-06, 16:26 UTC Location: Mrdr
Post by *Ovg » 2019-11-14, 05:09 UTC
Сегодня я столкнулся с тем, что оказывается в интернете не так-то уж и много информации про регулярные выражения для Total Commander`а. Если говорить точнее, то она возможно и есть, но найти ее крайне тяжело. Да, и к тому же ни все тонкости там сказаны и "разжеваны". А для нас, людей живущих очень быстро, дорога каждая минута. И разбираться, что нам поможет, а что нет, очень долго. В общем я решил собрать сюда всю инфу, которую я нашел по регуляркам для Тотал Коммандера. Для начала я покажу Вам то, что пишут в мануалах (официальная справка) от самих разработчиков, но с русским переводом! =)
Мета-символы
Вот список наиболее важных мета-символов:
^ - Начало строки
$ - Конец строки
. - Любой символ
\w - буквы, цифры или знак подчеркивания _
\W - противоположность \w
\d - цифра
\D - не цифра
\s - разделители слов (пробел, табуляция и т.д.)
\S - слова без разделителей
\b - находит границу слова (сочетание \s и \S)
\B - противоположность \b
Example 1
replace with:$2 $1 - $3
Using round brackets induces TC to take the term as Subexpression so you can refer to it.
Thus you search for a textstring of any lenght, followed by a colon and a space:(.*),
then followed ba another string of any length followed by space minus space:(.*) -
and followed by a third textstring of any length:(.*)
and replace with the second string followed by a space:$2
then the first one followed by space minus space:$1 -
and then the last one:$3
which also contains the extension because the dot between name and extension is also one of the 'any char'.
You could put the 'space minus space' sequence also into one of the Subexpressions if you like:
Meta-characters
Here is a list of the most important meta-characters:
^ | Line start |
$ | Line end |
. | Any character |
\w | a letter, digit or underscore _ |
\W | the opposite of \w |
\d | a digit |
\D | no digit |
\s | a word separator (space, tab etc) |
\S | no word separator |
\b | finds a word boundary (combination of \s and \S) |
\B | the opposite of \b |
Альтернативы
Альтернативы заключаются в круглых скобках, и разделены вертикальной чертой. Пример: (John|James|Peter) находит одно из имен John, James или Peter.
Normal characters:
test | finds the string "test" in the searched text. Note: This finds "test" ANYWHERE in a file name or on a line in text. |
Обычные символы
Если Вы напишите для поиска только обычные символы, например: "тест", то поиск найдет Вам файл с этими символами, идущими в строгом порядке, как "т→е→с→т". Примечание: Этот запрос находит "тест" в любом месте в имени файла и/или строки в тексте.
Normal characters:
test | finds the string "test" in the searched text. Note: This finds "test" ANYWHERE in a file name or on a line in text. |
Пробег последовательности
Обратная косая черта \ запускает последовательность Escape. Примеры управляющих последовательностей:
\t - Остановка табуляции
\xnn - Символ с шестнадцатеричным кодом "nn". Пример: \x20 является пробелом.Таблица символов charmap.exe (если установлен) показывает коды символов большинства специальных символов. Вы можете использовать эту таблицу в постоянном режиме, чтобы конвертировать из десятичной системы исчисления в шестнадцатеричном формате.
\x - Юникод с шестнадцатеричным кодом NN. Обратите внимание, что Total Commander теперь использует Unicode для имен файлов, так что вы должны использовать это обозначение для других символов, отличных от латинских. Например при поиске русских символов.
\[ - Левая квадратная скобка. Так как квадратные скобки являются мета-символами, то если Вы захотите найти в тексте квадратную скобку Вам понадобиться поставить перед ней (квадратной скобкой) обратный слеш: \[
\\ - Находит обратную косую черту.
\. - Находит точку (Только "." находит любой символ, смотри ниже).
Alternatives
Alternatives are put in round braces, and are separated by a vertical dash.
(John|James|Peter) finds one of the names John, James or Peter.
Escape sequences:
A backslash \ starts an Escape sequence. Examples for escape sequences:
\ t | Tabstop |
\ xnn | Character with hexadecimal code nn. Example: \x20 is the space character. The character table charmap.exe (if installed) shows the character code of most special characters. You can use the Windows calculator in scientific mode to convert from decimal to hex. |
\ [ | Left square bracket. Since the square brackets are meta-characters, they need to be written as \[ to search for them in the target string. |
\\ | Finds a backslash. |
\. | Finds a dot ("." alone finds any character, see below). |
Using Regular expressions
Using Regular Expressions (RegEx) is not so easy if you are not familiar with it. Thus here a little more information:
One of the most puzzling things with RegEx is that the Asterisk * , the Questionpoint ? and the dot . do not have the same meaning as you know.
As far as you put on the 'RegEx' switch the * does not mean 'any textstring with any length' but it is a counter that means 'the preceeding expression should be there zero, one or more times'. So if you want to express the 'common' meaning of the asterisk you'll have to use:
where the dot is a placeholder for any character and the asterisk means zero, one or more occurances of 'any character'.
If you want to see how TC treats those terms it is a good idea to open the Multi-Rename Tool with a few files selected, check the 'RegEx' box and try the examples here. The Multi-Rename tool allows you a preview what it would do if you start the renaming with the current settings.
So if you leave the file name: [N] and the extension [E] the
would remove the whole name and extension.
would remove the whole name including the dot and leave the extension as name.
In this case the . is not meant as 'any char but as normal dot because of the preceeding \ .
Okay, let's look at some real questions from the Forum :
Subexpressions for search+replace
Text parts in round braces are taken as subexpressions.
To swap the title and interpret in the file name of an mp3 file, when they are separated by a dash (Title - Interpret.mp3), this can be solved like this:
Search for: (.*) - (.*)\.mp3
Replace by: $2 - $1.mp3
Here $1 means the text in the first brace, and $2 the text in the second brace.
Подвыражения для поиска + функция "заменить"
Текстовые части в круглых скобках берутся подвыражения. Пример: Чтобы поменять название и интерпретировать имя у .mp3 файла, когда они разделены тире (Название - Интерпретатор.mp3), это может быть решено следующим образом:
Поиск: (.*) - (.*)\.mp3
Заменить на: $2 - $1.mp3
Здесь $1 означает текст в первых скобках, а $2 текст во вторых скобках.
Справка по использованию регулярных выражений в Total Commander (manual)
Character classes
Characters in square brackets build a character class. It will find exacly one character from this class. A dash allows to define groups, e.g. [a-z]. A ^ at the beginning finds all characters except for those listed.
[aeiou] | Finds exactly one of the listed vovels. |
[^aeiou] | Finds everything except for a vovel. |
M[ae][iy]er | Finds a Mr. Meier in all possible ways of writing: Mayer, Meyer, Maier, Meier. Very useful if you cannot remember the exact writing of a name. |
Where do I place my regex to search for files? + how to post questions properly
Iterators
Iterators are used for a repetition of the character or expression to the left of the iterator.
* | zero or more occurances |
+ | one or more occurances |
exactly n occurances | |
at least n occurances | |
at least n and max. m occurances |
All these operators are "greedy", which means that they take as many characters as they can get. Putting a question mark ? after an operator makes it "non-greedy", i.e. it takes only as many characters as needed. Example: "b+" applied to the target string "abbbbc" finds "bbbb", "b+?" finds just "b".
Итераторы
Итераторы используются для повторения символа или выражения в левой части итератора.
* - Ноль или более раз где-то
+ - Один или несколько раз где-то
ровно n раз где-то
минимум n раз где-то
минимум n и m максимально раз где-то
Все эти операторы являются "жадными", это означает, что они принимают столько символов, сколько они могут получить. Ввод вопросительного знака ? после оператора делает их "не жадными", т.е. он занимает ровно столько символов, сколько необходимо.
Пример: если применить "b+" к целевой строке "abbbbc", то поиск найдет "bbbb", а если применить "b+?", то поиск находит только "b".
Обратные
\n - Находит подвыражению n другой раз в результате поиска.
Пример: (.+)\1+ находит, например, abab (где первый ab находится с помощью: .+ и второй за счет: \1+)
Символьные классы
Символы в квадратных скобках позволяют построить символьный класс. Total Commander найдет один из символов этого класса. Тире позволяет определить группы, например, [a-z].
^ - В начале находит все символы за исключением перечисленных исключением.
Примеры:
[aeiou] - Поиск в точности одного из перечисленных символов.
[^aeiou] - Поиск всех, кроме перечисленных символов.
M[ae][iy]er Находит "Meier" всеми возможными способами письма: Mayer, Meyer, Maier, Meier. Это Очень полезно, если вы не можете вспомнить точное написание имени.
Backreferences
\n | Finds subexpression n another time in the search result. |
Читайте также: