2010-01-24 2 views

ответ

8

В то время как обычные символы подстановки (например, те, которые используются в оболочках для задания много файлов сразу-е. Г. *.txt) используют только askterisk (*) как знак для на ноль или более произвольных символов, в регулярных выражениях это a quantifier. Он сообщает движку регулярного выражения о , предшествующем токену. A dot (.) соответствует одному произвольному символу, точка, за которой следует звездочка, таким образом, соответствует нулю или более произвольным символам.

Однако = следует * будет соответствовать 0 или более знаков равенства (=) -since звездочка всегда работает на предыдущего знак, который только знак равенства здесь.

Примечание: Маркер может быть много вещей, один символ, как =, класс персонажа, такие как ., \w или [a-z], такой группой, как (abc) который затем соответствует любой строке, как abcabcabc, & гр. Это позволяет использовать гораздо более богатые типы выражений, чем просто простые старые подстановочные знаки.

Как правило, следующие эквивалентности между подстановочными знаками и регулярными выражениями удерживаются приблизительно; Есть некоторые детали, которые не могут быть немедленно очевидны:

Wildcard  Regex 
--------  ----- 
*    .* 
?    . 
[a-z]   [a-z] 
+0

Спасибо. Как я могу сказать движку, что он должен принять * blah * означает «blah» все в тексте – Thomas

+0

Просто «бла». Обычные буквы и цифры не являются метасимволами и точно соответствуют им. – Joey

+0

На самом деле я думаю, что QTP неявно закрепляет выражение, поэтому вам понадобится '. * Blah. *' (Вы должны проверить и посмотреть) – Motti

2

В * средства: соответствовать выражение где символ слева от * появляется 0 или более раз. . означает «соответствовать любому символу». Таким образом, .* означает: соответствует любому символу 0 или более раз. В вашем втором выражении знак * перед символом * означает, что это означает: соответствие 0 или более равных знаков.

1

Не более чем копия справочной страницы QTP.

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

Символ Описание

\ Отмечает следующий символ либо как специальный символ или буквальным. Например, «n» соответствует символу «n». «\ n» соответствует символу новой строки. Последовательность "\" соответствует "\" и "(" спичка "(".

^Соответствует начало ввода.

$ сопоставляют конец ввода.

* Соответствует предыдущий символ ноль или больше. Например, «zo *» соответствует либо «z», либо «zoo».

+ Соответствует предыдущему символу один или несколько раз.Например, «zo +» соответствует «zoo», но не «z».

? Соответствует предыдущему символу нуль или один раз. Например, «a? Ve?» соответствует «ве» в «никогда».

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

(узор) Соответствует рисунку и запоминает матч. Соответствующая подстрока может быть получена из полученной коллекции совпадений, используя Item [0] ... [n]. Чтобы совместить символы круглых скобок(), используйте «(» или «)».

x | y Соответствует либо x, либо y. Например, «z | wood» соответствует «z» или «wood». «(z | w) oo« соответствует «зоопарку» или «дереву».

{n} n - неотрицательное целое число. Соответствует точно n раз. Например, «o {2}» не соответствует «o» в «Bob», но соответствует первым двум символам o в «foooood».

{n,} n - неотрицательное целое число. Соответствует не менее n раз. Например, «o {2,}» не соответствует «o» в «Bob» и соответствует всем o в «foooood». «o {1,}» эквивалентно «o +». «o {0,}» эквивалентно «o *».

{n, m} m и n - неотрицательные целые числа. Соответствует не менее n и не более m раз. Например, «o {1,3}» соответствует первым трем символам o в «fooooood». «o {0,1}» эквивалентно «o?».

[xyz] Набор символов. Соответствует любому из прилагаемых символов. Например, «[abc]» соответствует «a» в «plain».

[^ xyz] Отрицательный набор символов. Соответствует любому символу, не прилагаемому. Например, «[^ abc]» соответствует «p» в «plain».

[a-z] Диапазон символов. Соответствует любому символу в указанном диапазоне. Например, «[a-z]» соответствует любому строчному алфавиту в диапазоне от «a» до «z».

[^ m-z] Символы отрицательного диапазона. Соответствует любому символу не в указанном диапазоне. Например, «[m-z]» соответствует любому символу не в диапазоне от «m» до «z».

\ b Соответствует границе слова, то есть позиции между словом и пространством. Например, «er \ b» соответствует «er» в «never», но не «er» в «verb».

\ B Соответствует границе, отличной от слова. «ea * r \ B» соответствует «уху» в «никогда раньше».

\ d Соответствует значению цифры. Эквивалентен [0-9].

\ D Совпадает с символом, отличным от цифр. Эквивалентно [^ 0-9].

\ f Соответствует символу формы.

\ n Соответствует символу новой строки.

\ r Соответствует символу возврата каретки.

\ s Соответствует любому пробелу, включая пробел, вкладку, форму-канал и т. Д. Эквивалентен «[\ f \ n \ r \ t \ v]».

\ S Соответствует любому символу небелого пробела. Эквивалентен «[^ \ f \ n \ r \ t \ v]".

\ t Соответствует символу табуляции.

\ v Соответствует символу вертикальной тарелки.

\ w Соответствует любому символу слова, включая символ подчеркивания. Эквивалентен «[A-Za-z0-9_]».

\ W Соответствует любому символу, отличному от слова. Эквивалентен «[^ A-Za-z0-9_]».

\ num Соответствует num, где num - положительное целое число. Ссылка на вспомненные матчи. Например, «(.) \ 1» соответствует двум последовательным идентичным символам.

\ n Соответствует n, где n - восьмеричное значение выхода. Значения выхода из Octal должны быть длиной 1, 2 или 3 цифры. Например, «\ 11» и «\ 011» совпадают с символом табуляции. «\ 0011» является эквивалентом «\ 001» & «1». Значения выхода из Octal не должны превышать 256. Если это так, то только первые две цифры содержат выражение. Позволяет использовать коды ASCII в регулярных выражениях.

\ xn Соответствует n, где n - шестнадцатеричное значение escape. Шестнадцатеричные значения escape должны быть ровно двумя цифрами. Например, «\ x41» соответствует «A». «\ x041» эквивалентно «\ x04» & «1». Позволяет использовать коды ASCII в регулярных выражениях.

Смежные вопросы