Базисный курс постоянных выражений
(Беглый перевод)
Представить / Скрыть текст
1. Любые знаки, не считая [^$.|?*+()
совпадают с таковыми же знаками.
Пример -
hello подходит hello
2. (Обратный слэш)
Нужен, ежели нужно задать для
совпадения спец. знаки
Пример -
+ подходит +"
3. Q...E
Подходит символам меж Q и E практически,
подавляя значение спец. знаков.
Пример -
Q +-*/E подходит +-*/
4. xFF, где FF - две шестнадцатеричных числа
Подходит символу с указанным значением ASCII/ANSI,
тот или другой зависит от кодовой странички.
Пример -
xA9 подходит © тот или другой применяется в Latin-1 codepage
5. n, r и t
Знаки LF, CR и TAB, сообразно
Пример -
rn подходит переводу строчки CRLF в DOS/Windows
6. a, e, f and v
Совпадает с знаками "звонка" (x07), escape (x1B), form feed (x0C) и вертикальный tab (x0B) сообразно. Быть может применено в классах знаков
7. cA...cZ
Совпадает с ASCII символам Control+A...Control+Z, эквивалентно x01...x1A.
Быть может применено в классах знаков
Пример -
cMcJ подходит переводу строчки CRLF в DOS/Windows
8. [ (Раскрытая квадратная скобка)
Начало класса знака. Класс знака подходит единственному символу из цельных вероятных. В классе знака, используются многообразные управляла. Управляла в данной нам секции - только лишь действительные внутренние классы знака. Управляла вне данной нам секции,
не считая n, r, t и xFF игнорируются.
9. Скобки []
Для задания вариантов соответствия знака
Пример -
[abc] подходит a, b либо c
Т.е foo[abc]ar совпадёт с fooaar, foobar, foocar
Пример 2 -
[^]] соответсует ^ либо ]
10. d, w и s
Классы знаков, подходящие цифрам, буковкам) и пробелам, сообразно.
Могут применяться снутри и вне классов знаков.
Пример -
[ds] будет подходить цифре либо пробелу
11. D, W и S
Противоположные версии вышеупомянутого.
Т.е НЕ цифра, НЕ буковка, не пробел
12. [b]
В классе знаков, b - символ возврата на одну позицию.
13. . (точка)
. подходит хоть какому символу не считая r и n
14. ^ (символ вставки)
Знак положения. Подходит началу строчки.
Пример -
^. подходит "a" в "abcndef"
Также совпадёт и с "d" в "multi-line" режиме.
15. $ (dollar)
Знак положения. Подходит точке строчки.
Пример -
.$ совпадёт с "f" в "abcndef"
Также совпадёт и с "с" в "multi-line" режиме.
16. A
Подобно для ^, но не "лицезреет" "переводов каретки"
Пример -
A. совпадёт с "а" в "abcndef"
17. Z
Подобно для $, но не "лицезреет" "переводов каретки"
Пример -
Z. совпадёт с "f" в "abcndef"
18. z
Подобно Z (ежели не прав, поправьте)
19. b
Знак баста слова (не путать со строчкой!)
Пример -
.b совпадёт с "c" в "abc def"
20. B
Знак положения меж 2-мя знаками.
Пример -
B.B совпадёт с "b" в "abc"
21. | (вертикальная черта)
Подходит по смыслу "либо"
Пример -
abc|def|xyz совпадёт с "abc", "def" либо "xyz"
Пример 2 -
abc(def|xyz) совпадёт с "abcdef" либо "abcxyz"
22. ? (вопросительный символ)
"Скупой" знак. Служит для ДОПОЛНЕНИЯ предшествующего значения знака
ежели это по возможности
Пример -
abc? выдаст совпадение для "ab" либо "abc"
23. ?? (два вопр. знака)
"Нежадный знак". Служит для ИСКЛЮЧЕНИЯ предшествующего значения
знака, ежели это по возможности Эта агрегат нередко исключается
из документации из-за ее ограниченного употребления.
Пример -
abc?? выдаст совпадение для "ab" либо "abc"
24. * (звёздочка)
Повторение предшествующего значения ноль либо наиболее разов.
"Скупой знак".
Пример -
'.*' совпадёт с "'def' 'ghi'" в "abc 'def' 'ghi jkl"
25. *?
Повторение предшествующего значения ноль либо наиболее разов.
"Нежадное сочетание"
Пример -
'.*?' совпадёт с 'def' в "abc 'def' 'ghi' jkl"
26. + (плюс)
Повторение предшествующего значения один-одинехонек либо наиболее разов.
"Скупой знак"
Пример -
'.+' совпадёт для "'def' 'ghi'" в "abc 'def' 'ghi' jkl"
27. +?
Повторение предшествующего значения один-одинехонек либо наиболее разов.
"Нежадное сочетание"
Пример -
'.+?' совпадёт для "'def'" в "abc 'def' 'ghi' jkl"
28. {n} где n целое число >= 1
Повторение предшествующего знака n разов
Пример -
a{3} совпадёт с "aaa"
29. {n,m} где n >= 0 и m >= n
Повторение предшествующего знака в численности меж n и m разов
"Алчное сочетание"
Пример -
a{2,4} совпадёт с "aaaa", "aaa" либо "aa"
30. {n,m}? где n >= 0 и m >= n
Повторение предшествующего знака в численности меж n и m разов
"Нежадное сочетание"
Пример -
a{2,4}? совпадёт с "aaaa", "aaa" либо "aa"
31. {n,} где n >= 0
Повторяет предшествующий знак более n разов
"Алчное сочетание"
Пример -
a{2,} совпадёт с "aaaaa" в "aaaaa"
32. {n,}? где n >= 0
Повторяет предшествующий знак более n разов
"Нежадное сочетание"
Пример -
a{2,}? совпадёт с "aa" в "aaaaa"
Образцы выражений
----------------------
год 19dd|20dd
e-mail b[A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]{2,4}b
спектр чисел от 0 до 127 b(0?[0-9]?[0-9]|1[0-1][0-9]|12[0-7])b
недопустимые знаки в названии файла [/:*?<>|]+
.... в имени папки [/:*?<>|]+
Пробел (к образцу для подмены пробелов на _) x20
Повторяющиеся слова (к образцу, привет привет) b(w+)(?:s+1b)+
Каждое из данных словечек b(?:word1|word2|word3)b