HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>В этом уроке мы познакомимся со специальными символами, которые помогают уточнить позиции символов в строке и подстроках.</p>
1 <p>В этом уроке мы познакомимся со специальными символами, которые помогают уточнить позиции символов в строке и подстроках.</p>
2 <p>Рассмотрим следующий пример:</p>
2 <p>Рассмотрим следующий пример:</p>
3 <p>/java/</p>
3 <p>/java/</p>
4 <p>java</p>
4 <p>java</p>
5 <p>Здесь слово java совпадает со строкой java - это простое условие. Важно помнить, что регулярные выражения ищут совпадения не в строках, а в подстроках.</p>
5 <p>Здесь слово java совпадает со строкой java - это простое условие. Важно помнить, что регулярные выражения ищут совпадения не в строках, а в подстроках.</p>
6 <p>Представим, что мы ищем в строке, в которой есть и другие символы, кроме искомых. В таком случае проверка может показать, что строки сопоставились, хотя на самом деле мы этого не планировали:</p>
6 <p>Представим, что мы ищем в строке, в которой есть и другие символы, кроме искомых. В таком случае проверка может показать, что строки сопоставились, хотя на самом деле мы этого не планировали:</p>
7 <p>/java/</p>
7 <p>/java/</p>
8 <p>asdfjava asdf</p>
8 <p>asdfjava asdf</p>
9 <p>Для управления поиском символов в строке существуют<strong>специальные символы</strong>, которые мы изучим далее.</p>
9 <p>Для управления поиском символов в строке существуют<strong>специальные символы</strong>, которые мы изучим далее.</p>
10 <h3>Символ для поиска в начале строки</h3>
10 <h3>Символ для поиска в начале строки</h3>
11 <p>Если в строке поиска перед искомыми символами поставить ^, то мы найдем только символы, которые находятся в начале строки:</p>
11 <p>Если в строке поиска перед искомыми символами поставить ^, то мы найдем только символы, которые находятся в начале строки:</p>
12 <p>/^java/</p>
12 <p>/^java/</p>
13 <p>java ruby clojurescript javascript</p>
13 <p>java ruby clojurescript javascript</p>
14 <p>Если мы уберем ^, то найдем два сопоставления, в том числе в последней подстроке:</p>
14 <p>Если мы уберем ^, то найдем два сопоставления, в том числе в последней подстроке:</p>
15 <p>/java/</p>
15 <p>/java/</p>
16 <p>java ruby clojurescript javascript</p>
16 <p>java ruby clojurescript javascript</p>
17 <h3>Символ для поиска в конце строки</h3>
17 <h3>Символ для поиска в конце строки</h3>
18 <p>Это символ - $. Посмотрим пример без $, в котором мы получаем два сопоставления:</p>
18 <p>Это символ - $. Посмотрим пример без $, в котором мы получаем два сопоставления:</p>
19 <p>/script/</p>
19 <p>/script/</p>
20 <p>java ruby clojurescript javascript</p>
20 <p>java ruby clojurescript javascript</p>
21 <p>Теперь добавим $ и получим всего одно совпадение - в конце строки:</p>
21 <p>Теперь добавим $ и получим всего одно совпадение - в конце строки:</p>
22 <p>/script$/</p>
22 <p>/script$/</p>
23 <p>java ruby clojurescript javascript</p>
23 <p>java ruby clojurescript javascript</p>
24 <h3>Поиск других символов относительно границ слова</h3>
24 <h3>Поиск других символов относительно границ слова</h3>
25 <p>Предположим, что нам нужно найти только те символы a, которые находятся в конце слова. Для этого наберем в шаблонной строке a\b:</p>
25 <p>Предположим, что нам нужно найти только те символы a, которые находятся в конце слова. Для этого наберем в шаблонной строке a\b:</p>
26 <p>/a\b/</p>
26 <p>/a\b/</p>
27 <p>java ruby clojurescript javascript</p>
27 <p>java ruby clojurescript javascript</p>
28 <p>Используя тот же символ в верхнем регистре \B, мы можем инвертировать поиск. Так мы найдем все символы a, не находящиеся в конце слова:</p>
28 <p>Используя тот же символ в верхнем регистре \B, мы можем инвертировать поиск. Так мы найдем все символы a, не находящиеся в конце слова:</p>
29 <p>/a\B/</p>
29 <p>/a\B/</p>
30 <p>java ruby clojurescript javascript</p>
30 <p>java ruby clojurescript javascript</p>
31 <p>Если поставить символ \b перед искомым, то мы найдем символы, находящиеся в начале слова:</p>
31 <p>Если поставить символ \b перед искомым, то мы найдем символы, находящиеся в начале слова:</p>
32 <p>/\bj/</p>
32 <p>/\bj/</p>
33 <p>java ruby clojurescript javascript</p>
33 <p>java ruby clojurescript javascript</p>
34 <p>Снова используем инвертирование:</p>
34 <p>Снова используем инвертирование:</p>
35 <p>/\Bj/</p>
35 <p>/\Bj/</p>
36 <p>java ruby clojurescriptj javascript</p>
36 <p>java ruby clojurescriptj javascript</p>
37 <p>Добавим к предыдущему примеру еще один символ j после clojurescriptj. Теперь мы найдем только символ j, который находится ни в начале слова, ни в конце:</p>
37 <p>Добавим к предыдущему примеру еще один символ j после clojurescriptj. Теперь мы найдем только символ j, который находится ни в начале слова, ни в конце:</p>
38 <p>/\Bj\B/</p>
38 <p>/\Bj\B/</p>
39 <p>java ruby clojurescriptjj javascript</p>
39 <p>java ruby clojurescriptjj javascript</p>
40  
40