You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 9-regular-expressions/10-regexp-backreferences/article.md
+8-8Lines changed: 8 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,17 +2,17 @@
2
2
3
3
Скобочные группы можно получать не только в результате или в строке замены, но и в самом шаблоне.
4
4
5
-
## Обратная ссылка с помощью номера: \n
5
+
## Обратная ссылка по номеру: \n
6
6
7
-
К группе можно обратиться в шаблоне используя `\n`, где `\n` это номер группы.
7
+
К группе можно обратиться в шаблоне, используя `\n`, где `\n` -- это номер группы.
8
8
9
9
Чтобы было яснее, рассмотрим это на следующем примере.
10
10
11
-
Необходимо найти в тексте строку в кавычках: либо одинарных`subject:'...'`, либо двойных `subject:"..."`– оба варианта должны работать.
11
+
Необходимо найти в тексте строку в кавычках: либо одинарных`subject:'...'`, либо двойных `subject:"..."`-- оба варианта должны работать.
12
12
13
13
Как найти такие строки?
14
14
15
-
Можно предусмотреть два вида кавычек в шаблоне: `pattern:['"](.*?)['"]`, но в таком случае будут находиться строки со смешанными кавычками, например `match:"...'`and`match:'..."`. Это приведет к ошибке, когда одна кавычка окажется внутри других, как в строке `subject:"She's the one!"`:
15
+
Можно предусмотреть два вида кавычек в шаблоне: `pattern:['"](.*?)['"]`, но в таком случае будут находиться строки со смешанными кавычками, например `match:"...'`и`match:'..."`. Это приведёт к ошибке, когда одна кавычка окажется внутри других, как в строке `subject:"She's the one!"`:
16
16
17
17
18
18
```js run
@@ -24,7 +24,7 @@ let reg = /['"](.*?)['"]/g;
24
24
alert( str.match(reg) ); // "She'
25
25
```
26
26
27
-
Как видно, шаблон нашел открывающую кавычку `match:"`, а после отобразил текст вплоть до следующей кавычки `match:'`, после чего поиск завершается.
27
+
Как видно, шаблон нашёл открывающую кавычку `match:"`, а после нашёл текст вплоть до следующей кавычки `match:'`, после чего поиск завершился.
28
28
29
29
Для того, чтобы шаблон искал закрывающую кавычку такую же, как и открывающую, мы обернём шаблон в скобочную группу и используем обратную ссылку на неё:
0 commit comments