Шпаргалка по регулярным выражениям [Дейв Чайлд] (pdf) читать онлайн

Книга в формате pdf! Изображения и текст могут не отображаться!


 [Настройки текста]  [Cбросить фильтры]

Regular Expressions Cheat Sheet

by Dave Child (DaveChild) via cheatography.com/1/cs/5/
Regular Expressions Anchors

Regular Expressions Quantifiers

Regular Expressions Groups and Ranges

^

Start of string, or start of line in multi-line pattern

*

0 or more

.

Any character except new line (\n)

\A

Start of string

+

1 or more

(a|b)

a or b

$

End of string, or end of line in multi-line pattern

?

0 or 1

(...)

Group

\Z

End of string

{3}

Exactly 3

(?:...)

Passive (non-capturing) group

\b

Word boundary

{3,}

3 or more

[abc]

Range (a or b or c)

\B

Not word boundary

{3,5}

3, 4 or 5

[^abc]

Not a or b or c

\<

Start of word

Add a ? to a quantifier to make it ungreedy.

[a-q]

Letter from a to q

\>

End of word

[A-Q]

Upper case letter from A to Q

Regular Expressions Escape Sequences

[0-7]

Digit from 0 to 7

Regular Expressions Character Classes

\

Escape following character

\n

nth group/subpattern

\c

Control character

\Q

Begin literal sequence

Ranges are inclusive.

\s

White space

\E

End literal sequence

\S

Not white space

"Escaping" is a way of treating characters which have

Regular Expressions Pattern Modifiers

\d

Digit

a special meaning in regular expressions literally,

g

Global match

\D

Not digit

rather than as special characters.

i

Case-insensitive

\w

Word

m

Multiple lines

\W

Not word

s

Treat string as single line

\x

Hexadecimal digit

x

Allow comments and white space in pattern

\O

Octal digit

e

Evaluate replacement

U

Ungreedy pattern

Regular Expression Common Metacharacters
^

[

.

$

{

*

(

\

+

Regular Expressions POSIX

)

|

?

[:upper:]

Upper case letters

<

>

[:lower:]

Lower case letters

The escape character is usually the backslash - \.

[:alpha:]

All letters

[:alnum:]

Digits and letters

[:digit:]

Digits

[:xdigit:]

Hexadecimal digits

[:punct:]

Punctuation

[:blank:]

Space and tab

[:space:]

Blank characters

[:cntrl:]

Control characters

[:graph:]

Printed characters

[:print:]

Printed characters and spaces

[:word:]

Digits, letters and underscore

Regular Expressions Special Characters
\n

New line

\r

Carriage return

\t

Tab

\v

Vertical tab

\f

Form feed

\xxx

Octal character xxx

\xhh

Hex character hh

Regular Expressions String Replacement
$n

nth non-passive group

$2

"xyz" in /^(abc(xyz))$/

$1

"xyz" in /^(?:abc)(xyz)$/

$`

Before matched string

$'

After matched string

$+

Last matched string

$&

Entire matched string

Some regex implementations use \ instead of $.

Regular Expressions Assertions
?=

Lookahead assertion

?!

Negative lookahead

?

Конец слова

(\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,6})

Адрес email

(\]+)\>)

HTML теги

Символьные классы
\c

Управляющий символ
Примечание

Эти шаблоны предназначены для ознакомительных целей и основательно
не проверялись. Используйте их с осторожностью и предварительно
тестируйте.

\s

Пробел

\S

Не пробел

\d

Цифра

\D

Не цифра

Кванторы

\w

Слово

*

0 или больше +

\W

Не слово

*?

0 или больше, нежадный +

\xhh

Шестнадцатиричный символ hh

+

1 или больше +

\Oxxx

Восьмиричный символ xxx

+?

1 или больше, нежадный +

Символьные классы POSIX

Диапазоны

?

0 или 1 +

??

0 или 1, нежадный +

[:upper:]

Буквы в верхнем регистре

{3}

Ровно 3 +

[:lower:]

Буквы в нижнем регистре

{3,}

3 или больше +

[:alpha:]

Все буквы

{3,5}

3, 4 или 5 +

[:alnum:]

Буквы и цифры

{3,5}?

3, 4 или 5, нежадный +

[:digit:]

Цифры

[:xdigit:]

Шестнадцатиричные цифры

Специальные символы

[:punct:]

Пунктуация

\

Экранирующий символ +

[:blank:]

Пробел и табуляция

\n

Новая строка +

[:space:]

Пустые символы

\r

Возврат каретки +

[:cntrl:]

Управляющие символы

\t

Табуляция +

[:graph:]

Печатные символы

\v

Вертикальная табуляция +

[:print:]

Печатные символы и пробелы

\f

Новая страница +

[:word:]

Буквы, цифры и подчеркивание

\a

Звуковой сигнал

Утверждения
?=

Вперед смотрящее +

?!

Отрицательное
вперед смотрящее +

?

Однократное подвыражение

?()

Условие [если, то]

?()|

Условие [если, то, а иначе]

?#

Комментарий

Примечание

Отмеченное + работает
в большинстве языков
программирования.

[\b]

Возврат на один символ

\e

Escape-символ

\N{name}

Именованый символ

Подстановка строк

.

Любой символ,
кроме переноса строки (\n) +

(a|b)

a или b +

(...)

Группа +

(?:...)

Пассивная группа +

[abc]

Диапазон (a или b или c) +

[^abc]

Не a, не b и не c +

[a-q]

Буква между a и q +

[A-Q]

Буква в верхнем регистре
между A и Q +

[0-7]

Цифра между 0 и 7 +

\n

n-ая группа/подшаблон +

Примечание

Диапазоны включают
граничные значения.

Модификаторы шаблонов
g

Глобальный поиск

i

Регистронезависимый шаблон

m

Многострочный текст

s

Считать текст одной строкой

x

Разрешить комментарии
и пробелы в шаблоне

e

Выполнение подстановки

U

Нежадный шаблон

$n

n-ая непассивная группа

$2

«xyz» в /^(abc(xyz))$/

^

[

.

$1

«xyz» в /^(?:abc)(xyz)$/

$

{

*

$`

Перед найденной строкой

(

\

+

$'

После найденной строки

)

|

?

$+

Последняя найденная строка

<

>

$&

Найденная строка целиком

$_

Исходный текст целиком

$$

Символ «$»

Мета-символы (экранируются)

Эта таблица доступна на www.exlab.net
Англоязычный оригинал на AddedBytes.com