mirror of
https://github.com/cheatsnake/backend-cheats.git
synced 2024-10-26 20:01:27 +03:00
updated regex cheatsheet
This commit is contained in:
parent
d04f077d00
commit
90bad24452
@ -104,7 +104,7 @@
|
||||
|
||||
### Количество повторений `{}`
|
||||
|
||||
Чтобы указать точное количетво повторений, необходимо после символа записать фигурные скобки с нужным числом.
|
||||
Чтобы указать точное количеcтво повторений, необходимо после символа записать фигурные скобки с нужным числом.
|
||||
|
||||
```js
|
||||
/bo{3}m/g
|
||||
@ -114,7 +114,7 @@
|
||||
|
||||
### Диапазон повторений `{,}`
|
||||
|
||||
Чтобы указать диапазон повторений, необходимо после символа записать фигурный скобки с нужным диапазоном разделенным запятой.
|
||||
Чтобы указать диапазон повторений, необходимо после символа записать фигурный скобки с нужным диапазоном, разделенным запятой.
|
||||
|
||||
```js
|
||||
/lo{2,4}k/g
|
||||
@ -122,4 +122,48 @@
|
||||
|
||||
> lok <ins>look</ins> lk <ins>loook</ins> <ins>looook</ins> loooooook
|
||||
|
||||
Верхнюю границу можно опускать. Например, запись `a{3,}` говорит о том, что символ _a_ должен втречаться не менее трёх раз.
|
||||
Верхнюю границу можно опускать. Например, запись `a{3,}` говорит о том, что символ _a_ должен встречаться не менее трёх раз.
|
||||
|
||||
### Группировка `()`
|
||||
|
||||
Скобки позволяют сгруппировать любую последовательность символов, чтобы в дальнейшем обращается к ним используя выражение `\число`, где число - порядковый номер сгруппированной последовательности.
|
||||
|
||||
```js
|
||||
/(la)-\1{2}-\1{3}/g // Группируем выражение "la" и затем, обращаемся к нему через "\1"
|
||||
```
|
||||
|
||||
> la-laaa-<ins>la-lala-lalala</ins>-lalala-la-la-la
|
||||
|
||||
```js
|
||||
/(la)-\1-(laa)-\2/g
|
||||
```
|
||||
|
||||
> laa-la-laa-<ins>la-la-laa-laa</ins>-lalal
|
||||
|
||||
Чтобы игнорировать сохранение группы используется конструкция `(?:)`.
|
||||
|
||||
```js
|
||||
/(?:abc)-(test),\1,\1/g // В данном случае группа "abc" не будет сохранена, поэтому первый индекс указывает на "test".
|
||||
```
|
||||
|
||||
> abc,test-<ins>abc-test,test,test</ins>-abc-test
|
||||
|
||||
Группам можно задавать любые имена. Для этого используется конструкция - `(?P<Name>...)`, где Name - название, ... - любая последовательность символов. Для обращения к именованным группам используется конструкция - `(?P=Name)`.
|
||||
|
||||
```js
|
||||
/(?P<seven>7{3})-(?P=seven){2}-(?P=seven)/g
|
||||
```
|
||||
|
||||
> 7777-77-7777777-<ins>777-777777-777</ins>-777-7-7-7-7777-7
|
||||
|
||||
Если у Вас возникли трудности с пониманием группировки, советую [посмотреть данное видео](https://youtu.be/W9CffcsYpAU).
|
||||
|
||||
### Логическое ИЛИ `|`
|
||||
|
||||
Вертикальная черта позволяет указывать альтернативные варианты для поиска. Это чем-то похоже на использование квадратных скобок `[abc]`, но только вертикальная черта может работать с целыми словами и выражениями, а не только с отдельными символами.
|
||||
|
||||
```js
|
||||
/yes|no/g
|
||||
```
|
||||
|
||||
> <ins>yes</ins>,maybe,<ins>no</ins>,idk,ok
|
Loading…
Reference in New Issue
Block a user