Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Введение в СУБД HyTech.doc
Скачиваний:
11
Добавлен:
01.03.2025
Размер:
2.67 Mб
Скачать

Шаблоны, продолжение

Для задания множеств символов используется также метасимвол: [ (в паре с ]). Алгоритм сравнения, встретив [ считает, что далее должен быть один из символов, находящихся между [ ].

Примеры:

Шаблон 

Описание 

/\w\w\w:/

Подстроки из 4 символов, которые состоят из трех словарных символов и заканчиваются :.

/[abcd]\S\S\S/

Подстроки из 4 символов, которые начинаются с a, b, c, d и заканчиваются тремя непустыми символами.

/[a-kA-K]123/

Подстроки из 4 символов, которые начинаются с любой буквы от a до k или от A до K и заканчиваются 123.

/.123/

Подстроки из 4 символов, которые начинаются с любого символа и заканчиваются 123.

/\.123/

Подстроки .123.

/%[0-9А-Яа-я]/

Подстроки из 2 символов, которые начинаются с % и заканчиваются цифрой или любой русской буквой.

Символ -, если он встретился внутри квадратных скобок, задает интервал.

/%[^0-9А-Яа-я]/

Подстроки из 2 символов, которые начинаются с % и НЕ заканчиваются цифрой или любой русской буквой.

Символ ^, если он встретился сразу после квадратной скобки, означает «все символы», кроме перечисленных в квадратных скобках.

/\[abc]/

Подстроки вида [abc], поскольку квадратные скобки здесь задают не множество символов, а воспринимаются как обычные квадратные скобки, поскольку перед [ стоит \.

После символа может быть задано ожидаемое количество повторов:

 Символ

 Описание

?

0 или 1

*

0 или больше

+

1 или больше

{

Задаем число повторений «с» … «по», используем в паре с }

Примеры:

Шаблон 

Описание 

/a+/

Подстроки, состоящие только из букв а.

/%[0-9А-Яа-я]{1,3}/

Подстроки от 2 до 4 символов, которые начинаются с % и далее содержат цифры или русские буквы. 1 в фигурных скобках задает минимальное число повторов, 3 - максимальное.

/%[0-9А-Яа-я]{2,}/

Подстроки более 3 символов, которые начинаются с % и далее содержат цифры или русские буквы. 2 в фигурных скобках задает минимальное число повторов.

/%[0-9А-Яа-я]{,2}/

Подстроки длиной до 3 символов включительно, которые начинаются с % и далее содержат цифры или русские буквы. 2 в фигурных скобках задает максимальное число повторов.

/\d{3}/

Подстроки длиной 3 символа только из цифр.

/\d{3}-\d{2}-d{2}/

Семизначный телефонный номер (разряды разделяются -).

/A*_Z/

Подстроки, начинающиеся с А после которого может быть произвольное число _ и заканчивающиеся Z.

/ABC.*/

Подстроки, начинающиеся с АBC.

Внимание! Применение повторов связано со следующим нюансом. По умолчанию алгоритм сравнения ищет подстроку с максимальным возможным числом повторов. Например, алгоритм сравнения для шаблона /ABC.*Z/ в строке ___ABC___Z__ AB_Z найдет только подстроку ABC___Z__ AB_Z, а не две подстроки ABC___Z и AB_Z, как можно было бы подумать. Для того, чтобы искать строку с минимальным числом повторов, нужно после символа повтора указать ?. Таким образом, для шаблона /ABC.*?Z/ будут распознаны две подстроки.