Символ | Описание | Пример |
Общие символы и символы количества |
**\\** | Для **обычных символов**, означает что следующий символ будет интерпретироваться как специальный.
Для **специальных символов**, означает что следующий символ будет интерпретироваться буквально.
| **\\а** - символ **а** становится специальным символом, означающим границу слова.
**\\\*** - специальный символ **\*** интерпретируется как обычный символ "звездочка".
|
**^** | Следующий символ должен присутствовать в начале строки. | **^А** - символ **А** должен быть первым в строке. |
**$** | Предыдущий символ должен присутствовать в конце строки. | **а$** - символ **а** должен быть последним в строке. |
**\*** | Предыдущий символ может быть повторен 0 или больше раз. | **а\*** - символ **а** может не быть в строке, а может повториться множество раз. |
**+** | Предыдущий символ должен быть повторен 1 или больше раз. | **а+** - символ **а** может повториться один раз в строке, а может повториться множество раз. |
**?** | Предыдущий символ должен быть повторен 0 или 1 раз. | **а?** - символ **а** может не быть в строке, а может быть один раз. |
**.** | Любой символ кроме переноса строки. | **a.c** равно **abc**, **a1c** и тд. |
**x|y** | В строке должен присутствовать либо x либо y. | **abc|xyz** - в строке может быть **abc** или **xyz**. |
**{n}** | Предыдущий символ должен быть повторен n раз. | **а{2}** - **а** должна быть повторена в строке дважды. |
**{n,m}** | Предыдущий символ должен быть повторен не меньше n раз, но и не больше m раз. | **а{2,5}** - **а** должна быть повторена в строке хотя бы дважды и не больше пяти раз. |
Скобочные группы |
**(x)** | Объединение символов в единый элемент (с запоминанием). | **abc\*** - **\*** относится только к **c**.
**(abc)\*** - **\*** относится ко всему выражению в скобках.
|
**(?:x)** | Объединение символов в единый элемент (без запоминания). |
**x(?=y)** | Соответствует x только если за ним идет y. | **ab(?=c)** - после **ab** должна быть **c**. |
**x(?!y)** | Соответствует x только если за ним не идет y. | **ab(?!c)** - после **ab** не должно быть **c**. |
Соответствия набору символов |
**\[xyz\]** | Соответствует любому из символов в скобках. | **\[abcd\]** или **\[a-d\]** - строка должна состоять из любых символов от **a** до **d**. |
**\[^xyz\]** | Соответствует любому из символов не в скобках. | **\[^abcd\]** или **\[^a-d\]** - строка должна исключать символы от **a** до **d**. |
**\[\\b\]** | Бэкспейс. | **\[\\b\] - находит символ бэкспейса в строке. |
**\\b** | Граница слова. | **\\b** - перед или после предыдущего символа должен быть пробел или другая граница слова. |
**\\d** | Цифровой символ. | **\\d** - любой из символов от 0 до 9. |
**\\D** | Нецифровой символ. | **\\D** - любой из символов кроме символов от 0 до 9. |
**\\s** | Пробел. | **\\s** - находит пробел, табуляцию, перенос строки. |
**\\S** | Не пробел. | **\\S** - любой из символов кроме пробела, табуляции, переноса строки. |
**\\w** | Цифробуквенные символы и нижнее подчеркивание. | **\\w**- любой из символов от 0 до 9, от А до Я и **\_**. |
**\\W** | Нецифробуквенные символы. | **\\w**- любой из символов кроме символов от 0 до 9, от А до Я и **\_**. |
**\\0** | NULL | **\\0** - находит пустое множество. |