Регулярные выражения являются наборами символов, которые можно использовать для обнаружения и замены образцов текста. Регулярные выражения обеспечивают краткий и гибкий путь для организации более сложного поиска и критерия фильтрации выбранного текста, чем поисковый образец, построенный с помощью символов шаблона (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 за общими понятиями о регулярных выражениях и для формирования собственных соответствий.