Синтаксис
Представление | Эквивалент | Значение |
\d | [0-9] | Цифра |
\D | [^\d] | Любой символ, кроме цифры |
\w | [A-Za-zА-Яа-я0-9] | Символы, образующие «слово» (буквы, цифры) |
\W | [^\w] | Символы, не образующие «слово» |
\s | [ \t\v\r\n\f] | Пробельный символ |
\S | [^\s] | Не пробельный символ |
. | Соответствует любому единичному символу | |
( ... ) | Оператор группы | |
\d обозначает любую цифру от 0 до 9; \d\d\d - три любых цифры
a-z обозначает любую букву латинского алфавита в нижнем регистре, A-Z тоже самое но в верхнем регистре
Буквы можно объединить например так a-zA-Z что означает любая буква латинского алфавита, для русского алфавита любая буква обозначается а-яА-Я Конструкция a-zA-Zа-яА-Я0-9.,:; означает все буквы и цифры, а также перечисленные знаки препинания
Кроме букв есть обозначения для других сивмолов. \s означает один пробел
^ Символ отрицания меняющий смысл на противоположный
Специальные символы
\xnn | символ с шестнадцатеричным кодом nn |
\x{nnnn} | символ с шестнадцатеричным кодом nnnn (более одного байта можно задавать только в режиме Unicode) |
\t | табуляция (HT/TAB), можно также \x09 |
\n | новая строка (NL), можно также \x0a |
\r | возврат каретки (CR), можно также \x0d |
\f | перевод формата (FF), можно также \x0c |
\a | звонок (BEL), можно также \x07 |
\e | escape (ESC), можно также \x1b |
Перечисление и группировка
Вертикальная черта разделяет допустимые варианты. Например, «gray|grey» соответствует gray или grey. Круглые скобки используются для определения области действия и приоритета операторов. Например, «gray|grey» и «gr(a|e)y» являются разными образцами, но они оба описывают множество, содержащее gray и grey.
Квантификация
Квантификатор после символа или группы определяет, сколько раз предшествующее выражение может встречаться.
{m,n} | общее выражение, повторений может быть от m до n включительно |
{m,} | общее выражение, m и более повторений |
{,n} | общее выражение, не более n повторений |
? | Знак вопроса означает 0 или 1 раз, то же самое, что и {0,1}. Например, «colou?r» соответствует и color, и colour |
* | Звёздочка означает 0, 1 или любое число раз ({0,}). Например, «go*gle» соответствует ggle, gogle, google и др. |
Плюс означает хотя бы 1 раз ({1,}). Например, «go gle» соответствует gogle, google и т. д. (но не ggle) |
Таким образом \d означает любые цифры; .\d любой символ с цифрой.
При поиске в TextPipe для отделения специальных символов от просто символов используется обратный слэш \.
Например, если . это любой символ, то \. обозначает просто точку. \/ обозначает прямой слэш. Для обозначения самого обратного слэша используют двойной обратный слэш \\.
Здесь я описал общие правила и наверняка что -то упустил. За полным описанием рекомендую обратиться к литературе по регулярным выражениям или, что правильнее, к документации программы.