Регулярное выражение - это буквальный шаблон, состоящий из обычных символов (таких как символы от A до z) и специальных символов (называемых Metacharacters ). Этот шаблон описывает одну или несколько строк, которые будут сопоставлены при поиске текстового тела. Регулярное выражение действует как шаблон в соответствии с шаблоном символа с поисковой строкой.
Вот несколько примеров регулярных выражений, с которыми вы можете столкнуться:
| JScript | VBScript | соответствовать |
|---|---|---|
| /^/[/t]*$/ | ^ /[ /t]*$ | Сопоставьте пустую линию. |
| // d {2}-/d {5}/ | /d {2}-/d {5} | Убедитесь, что идентификационный номер состоит из двухзначного номера, дефиса и 5-значного номера. |
| /Образно | <(.*)>.*</// 1> | Сопоставьте HTML -тег. |
Следующая таблица представляет собой полный список метахарактеров и их поведение в контексте регулярных выражений:
| характер | описывать |
|---|---|
| / | Отметьте следующий персонаж как особый персонаж, или примитивный персонаж, или обратную ссылку, или восьмиугольный экономный персонаж. Например, 'n' соответствует символу n. '/n' соответствует новому персонажу. Последовательность '//' совпадает /и /(совпадает (. |
| ^ | Соответствует начальному положению входной строки. Если установлено многослойное свойство объекта Regexp , ^ также соответствует позиции после '/n' или '/r'. |
| $ | Соответствует конечной позиции входной строки. Если установлено многослойное свойство объекта Regexp , $ также соответствует позиции до '/n' или '/r'. |
| * | Соответствует предыдущему суб -экспрессии ноль или несколько раз. Например, Zo* может соответствовать Z и зоопарку. * эквивалентен {0,}. |
| + | Соответствует предыдущей субэкспрессии один или более раз. Например, «ZO+» может соответствовать ZO и ZOO, но не Z. + эквивалентен {1,}. |
| ? | Соответствует предыдущему суб -экспрессии ноль или один раз. Например, сделайте (ES)? ? |
| { n } | n -неотрицательное целое число. Сопоставьте N -времена, которые определяются. Например, «o {2}» не может совпадать с «o» в BOB, но может соответствовать двум ОС в еде. |
| { n ,} | n -неотрицательное целое число. Совпадать как минимум n раз. Например, 'o {2,}' не может совпадать с «o» в Бобу, но может соответствовать всей ОС в Foooood. 'o {1,}' эквивалентен 'O+'. 'o {0,}' эквивалентен 'O*'. |
| { n , m } | Оба M и N являются неотрицательными целыми числами, где n <= m . Совместите хотя бы n раз и сопоставьте до M Times. Лю, O {1,3} будет соответствовать первой три ОС в Fooooood. 'o {0,1}' эквивалентен 'O?'. Обратите внимание, что между запятыми и двумя числами не может быть пробела. |
| ? | Соответствующий шаблон не является-зеленым, когда символ сразу же сопровождается каким-либо другим ограничительным символом (*, +,?, { N }, { n ,}, { n , m }). Нежеский рисунок соответствует как можно меньше строк, в то время как жадный рисунок по умолчанию соответствует как можно большему количеству строк. Например, для строки оооо, «O+?» |
| Полем | Сопоставьте любой отдельный символ, кроме /n. Чтобы соответствовать любым символам, включая «/n», используйте рисунок, такой как «[./n]». |
| ( шаблон ) | Матч -шаблон и получите этот матч. Полученные совпадения могут быть получены из коллекции сгенерированных совпадений, используя коллекцию Submatches в VBScript и используя атрибут $ 9 … 9 долларов в JSCRICT. Чтобы соответствовать символам скобок, используйте '/(' или '/)'. |
| (?: шаблон ) | Образец соответствия, но не получайте результат сопоставления, то есть это не Get Match и не хранится для будущего использования. Это полезно при использовании или символах (|) для объединения различных частей шаблона. Например, «Industry (?: y | ies) - это более простое выражение, чем« промышленность | отрасли ». |
| (? = шаблон ) | Пересошайте перед проверкой, сопоставьте строку Lookup в начале любого шаблона соответствующей строки. Это не Get Match, то есть матч не нужно получать для последующего использования. Например, Windows (? = 95 | 98 | nt | 2000) 'может соответствовать Windows в Windows 2000, но не в Windows в Windows 3.1. Предварительная проверка не потребляет символы, то есть после того, как произойдет матч, поиск следующего матча начинается сразу после последнего матча, а не после персонажей, содержащих предварительную проверку. |
| (?! шаблон ) | Отрицательный Lookahead соответствует строке поиска в любой момент, где строка, не соответствующая шаблону . Это не Get Match, то есть матч не нужно получать для последующего использования. Например, Windows (?! 95 | 98 | NT | 2000) 'может соответствовать Windows в Windows 3.1, но не в Windows в Windows 2000. Предварительная проверка не потребляет символы, то есть после того, как наступит матч, следующий поиск матча начинается сразу после последнего матча, а не после персонажей, содержащих предварительную проверку |
| x | | Соответствовать x или y . Например, «Z | еда» может соответствовать Z или еде. '(z | f) ood' совпадает с Zood или еде. |
| [ xyz ] | Коллекция персонажей. Соответствовать любому содержащемуся символа. Например, «[ABC]» может соответствовать «A» на простом. |
| [^ xyz ] | Сборник негативных значений символов. Сопоставьте любые персонажи, которые не включены. Например, '[^abc]' может совпадать с 'p' на простом. |
| [ AZ ] | Ассортимент персонажей. Сопоставьте любой символ в указанном диапазоне. Например, «[AZ]» может соответствовать любым строчным алфавитным символам в диапазоне «A» для 'Z'. |
| [^ az ] | Отрицательное значение диапазона символов. Сопоставьте любые произвольные символы, которые не находятся в пределах указанного диапазона. Например, «[^az]» может соответствовать любым произвольным символам, которые не находятся в диапазоне «A» для 'z'. |
| /б | Сопоставьте границу слова, что означает положение между словом и пространством. Например, «ER/B» может соответствовать «ER» никогда, но не «э -э» в глаголе. |
| /Б | Соответствовать границам не слов. «ER/B» может соответствовать «ER» в глаголе, но не может совпадать «ER» никогда. |
| /c x | Соответствует элементам управления, указанным x . Например, /CM соответствует возврату CONTROL-M или Carriage. Значение X должно быть одним из AZ или AZ. В противном случае, рассматривайте C как оригинальный символ 'c'. |
| /д | Соответствовать числовому персонажу. Эквивалентно [0-9]. |
| /Д | Сопоставьте ненужный персонаж. Эквивалентно [^0-9]. |
| /f | Сопоставьте перерыв на странице. Эквивалент /x0c и /cl. |
| /n | Сопоставьте новый персонаж. Эквивалент /x0a и /cj. |
| /r | Сопоставьте персонаж возврата каретки. Эквивалент /x0d и /cm. |
| /с | Сопоставьте любые пробелы, включая пробелы, вкладки, разрывы страниц и т. Д. Эквивалентно [/f/n/r/t/v]. |
| /С | Сопоставьте любые не-белые символы. Эквивалентно [^/f/n/r/t/v]. |
| /т | Сопоставьте символ вкладки. Эквивалент /x09 и /ci. |
| /v | Сопоставьте вертикальную вкладку. Эквивалент /x0b и /ck. |
| /w | Сопоставьте любое слово персонажа, который включает в себя подчеркивание. Эквивалент '[a-za-z0-9_]'. |
| /W | Сопоставьте любые не слова. Эквивалентно '[^a-za-z0-9_]'. |
| /x n | Матч N , где n - шестнадцатеричная ценность побега. Значение шестнадцатеричного побега должно быть длиной двух чисел, которые определяются. Например, «/x41» соответствует А. '/x041' эквивалентен '/x04' & 1. Кодирование ASCII может использоваться в регулярных выражениях. Полем |
| / num | Сопоставьте Num , где NUM является положительным целым числом. Ссылка на полученное соответствие. Например, '(.)/1' соответствует двум последовательным идентичным символам. |
| / n | Определяет восьмиурочное значение побега или обратную ссылку. Если по крайней мере N, полученные подпроседания до / n , n является обратной ссылкой. В противном случае, если n -восьмиурочное число (0-7), n -октальное значение побега. |
| / нм | Определяет восьмиурочное значение побега или обратную ссылку. Если, по крайней мере, NM получить суб -фрагменты, предшествует не менее NM до / нм , NM является обратной ссылкой. Если есть как минимум n избранных до / нм , n - обратная ссылка, за которой следует буквальный m . Если ни одно из предыдущих условий не выполнено, если оба n и m являются восьмировными числами (0-7), то / нм будет соответствовать октальному значению побега NM . |
| / nml | Если n -восьмиурочное число (0-3), а M и L -оба октальные числа (0-7), восьмистное значение NML сопоставлено. |
| /u n | Матч N , где n - символ Unicode, представленный четырьмя шестнадцатеричными цифрами. Например, /U00A9 соответствует символу авторского права (?). |
После построения регулярного выражения вы можете оценить как математическое выражение, то есть вы можете оценить слева направо и в приоритетном порядке.
В следующей таблице перечислены приоритетный порядок различных операторов регулярного выражения от самого высокого приоритета до самого низкого приоритета:
| Оператор | описывать |
|---|---|
| / | Символ побега |
| (), (? :), (? =), [] | Брекеты и квадратные скобки |
| *, +,?, {n}, {n,}, {n, m} | Квалификатор |
| ^, $, / anymetacharacter | Положение и порядок |
| | | Или работать |