Специальные символы:
Точка . |
Точка . соответствует любому одиночному символу, включая буквы, цифры, пробелы и так далее. Единственный символ, с которым она не способна совпасть - это символ новой строки.\\n . |
---|---|
Вопросительный знак ? |
Означает, что предшествующий символ может быть присутствовать или отсутствовать. |
Обратный слеш \\ |
Экранирующий символ, используется для отделения особых символов от обычных. |
Набор символов [abc] |
[abc] - символы помещенные в квадратные скобки - это набор, любое значение из набора может ему соответствовать. Например, набор [abc] означает, что ему может соответствовать один символ из "a", "b" или "c". |
Диапазон символов [0-9] |
Диапазон указывается с помощью символа тире. Символ, предшествующий тире, обозначает начальную точку диапазона, символ после него - последний символ, входящий в диапазон. [0-9] - это набор всех цифр от 0 до 9. Любая цифра из этого набора может соответствовать. |
Исключение символов из наборов [^abc] |
Позволяет определить набор символов, которые вы не хотите включать. [^abc] означает, что a, b, c - исключены из допустимых значений. |
Исключение символов из диапазонов [^a-c] |
Позволяет определить диапазон символов, которые вы не хотите включать. [^a-c] означает, что a, b, c - исключены из допустимых значений. |
Alternations ` | ` |
Сокращения (Shorthands) - предопределенные сокращения для часто используемых наборов символов:
\\d = [0-9] |
|
---|---|
\\s = [\\t\\n\\x0B\\f\\r] |
символ пробела (включая табуляцию и символ новой строки): |
\\w = [a-zA-Z_0-9] |
буквенно-цифровой символ (слово): |
\\b |
обозначение границы слова. Он не сопоставляется с конкретным символом, а, скорее, обозначает границу между буквенно-цифровым символом и не буквенно-цифровым символом (например, символом пробела) или границей строки (началом или концом строки). Таким образом, \\ba сопоставляет все слова, начинающиеся с "a", a\\b сопоставляет все слова, заканчивающиеся на "a", и \\ba\\b сопоставляет все отдельные "a", слева и справа от которых присутствуют не буквенно-цифровые символы. |
\\D = [^0-9] |
не цифровой символ |
\\S = [^ \\t\\n\\x0B\\f\\r] |
не любой пробельный символ |
\\W = [^a-zA-Z_0-9] |
не буквенно-цифровой символ |
\\B |
обозначает отсутствие границы слова, обратное для сокращения \\b : находит совпадение всякий раз, когда нет "пробела" между буквенно-цифровыми символами. Например, a\\B соответствует всем словам, начинающимся с "a". |
Квантификаторы (Quantifiers) - определяют, как часто символ может встречаться в шаблоне regex:
+ |
соответствует одному или более повторениям предыдущего символа |
---|---|
* |
соответствует нулю или более повторениям предыдущего символа |
{n} |
соответствует ровно n повторениям предыдущего символа |
{n,m} |
соответствует не менее n, но не более m повторениям предыдущего символа. Важно не делать пробел после запятой, иначе это не будет работать. |
{n,} |
соответствует не менее n повторениям предыдущего символа |
{0,m} |
соответствует не более m повторениям предыдущего символа |
? or {0,1} |
делает предшествующий символ необязательным то есть ноль или один раз |
Полезные ссылки по регулярным выражениям:
Другие ссылки: