Регулярные выражения являются наборами символов, которые можно использовать для обнаружения и замены образцов текста. Регулярные выражения обеспечивают краткий и гибкий путь для организации более сложного поиска и критерия фильтрации выбранного текста, чем поисковый образец, построенный с помощью символов шаблона (wildcard) в диалоговом окне Find.

Следующая таблица описывает поведение операторов регулярных выражений в запросе.

Оператор Поведение

.

Соответствует любому одиночному символу, кроме символа конца строки (\n).

*

Соответствует предыдущему символу ноль и более раз. Можно использовать и знак вопроса (?).

Пример:   "zo*" соответствует и "z" и "zoo". Выражение "a?ve?" соответствует "ve" в "never".

+

Соответствует предыдущему символу один и более раз.

Пример:   "zo+" соответствует "zoo", но не соответствует "z".

^

Соответствует началу вводимой строки.

$

Соответствует концу вводимой строки.

[xyz]

Соответствует одному любому символу в наборе. Квадратные скобки обязательны.

Пример:   "[abc]" соответствует "a" в "plain".

[^xyz]

Соответствует любому символу, не попавшему в набор. Квадратные скобки обязательны.

Пример:   "[^abc]" соответствует "p" в "plain".

[a-z]

Соответствует любому символу указанного диапазона.

Пример:   "[a-z]" соответствует любому алфавитному символу нижнего регистра в диапазоне от "a" до "z".

[^a-z]

Соответствует любому символу, расположенному вне указанного диапазона.

Пример:   "[^m-z]" соответствует любому символу, расположенному вне диапазона от "m" до "z".

\

Обозначает следующий за ним символ как специальный, например, как символ escape или литерал.

Пример:   "\\" соответствует "\", а "\(" соответствует "(".

(pattern)

Соответствует группе образца. Круглые скобки обязательны.

Пример:   "(tress)" соответствует "mattress" но не соответствует "mattres". Для установки соответствия круглых скобок необходимо использовать "\(" или "\)".

x|y

Соответствует либо x либо y.

Пример:   "z|wood" соответствует "z" или "wood". Выражение "(z|w)ood" соответствует "zood" или "wood".

{m}

Соответствует предыдущему символу точно m раз, где m - положительное число.  Круглые скобки обязательны.

Пример:   "o{2}" не соответствует "o" в "Bob", но соответствует первым двум буквам o  в "food" или в  "foooood".

{m,}

Соответствует предыдущему символу по крайней мере m раз (а), где m - положительное число.

Пример:   "o{2,}" не соответствует "o" in "Bob", но соответствует всем o в "fooooood". Кроме того, выражение "o{1,}" является эквивалентом "o+", а "o{0,}" - эквивалентом "o*".

{m,n}

Соответствует предыдущему символу по крайней мере m и самое большее n раз, где m и n - положительные числа

Пример:   "o{1,3}" соответствует первым трем буквам o в "foooooood". Кроме того, выражение "o{0,1}" является эквивалентом "o?".

Все иные

Соответствуют сами себе.

При использовании операторов регулярных выражений применяются следующие правила:

  • Регулярные выражения можно заключить в кавычки. Обязательно заключаются в кавычки регулярные выражения, содержащие пробелы и парные круглые скобки (()).

Фундаментальный класс регулярных выражений обеспечивает доступ к стандартным программам, которые могут пригодиться для использования регулярных выражений в ваших приложениях. Более подробно, смотри Фундаментальный класс регулярных выражений

Visual FoxPro включает в себя пример регулярных выражений, который можно использовать для того, чтобы понять как включать поисковый текст регулярного выражения в ваше приложение. Более подробно, смотри  Поисковый текст, использующий регулярные выражения.

Вы можете обратиться к MSDN за общими понятиями о регулярных выражениях и для формирования собственных соответствий.

См. также