Heim  >  Artikel  >  Web-Frontend  >  Detaillierte Erläuterung der Verwendung regulärer Operatoren

Detaillierte Erläuterung der Verwendung regulärer Operatoren

php中世界最好的语言
php中世界最好的语言Original
2018-03-30 10:16:581172Durchsuche

Dieses Mal werde ich Ihnen die Vorsichtsmaßnahmen bei der Verwendung regulärer Operatoren ausführlich erläutern. Schauen wir uns die folgenden praktischen Fälle an.

Die Beispiele in diesem Artikel beschreiben die Operatoren und Beschreibungen in

regulären Ausdrücken. Teilen Sie es wie folgt mit allen zur Referenz:

1. Zu den gewöhnlichen Zeichen

gehören alle gedruckten und nichtdruckbaren Zeichen, die nicht ausdrücklich als Metazeichen gekennzeichnet sind, wie z B. Groß- und Kleinbuchstaben, Zahlen, Satzzeichen usw.

2. Metazeichen

Metazeichen sind Zeichen, die in regulären Ausdrücken eine besondere Bedeutung haben. Da Metazeichen in regulären Ausdrücken eine besondere Bedeutung haben, können diese Zeichen nicht zur Darstellung ihrer selbst verwendet werden und müssen mit einem Escapezeichen versehen werden, indem ihnen ein Backslash vorangestellt wird. Die resultierende Escape-Sequenz stimmt mit dem Zeichen selbst und nicht mit seiner speziellen Metazeichenbedeutung überein. Beispielsweise stellt [ den Anfang eines Zeichensatzes dar. Wenn Sie [ in einem regulären Ausdruck finden möchten, müssen Sie ihn wie folgt in Anführungszeichen setzen: [ um [ selbst darzustellen.

^ Match Geben Sie die Startposition der Zeichenfolge ein, es sei denn, sie wird in einem eckigen Klammerausdruck verwendet. In diesem Fall bedeutet dies, dass der Zeichensatz nicht akzeptiert wird. Um das Zeichen ^ selbst zu finden, verwenden Sie ^.
$ Entspricht dem Ende der Eingabezeichenfolge. Wenn der mehrzeilige Abgleich eingestellt ist, stimmt $ auch mit „n“ oder „r“ überein. Um das $-Zeichen selbst abzugleichen, verwenden Sie $.
() Markiert den Anfang und das Ende eines Unterausdrucks. Unterausdrücke können zur späteren Verwendung abgerufen werden. Um diese Zeichen abzugleichen, verwenden Sie [Math Processing Error].
? Übereinstimmen Sie den vorhergehenden Unterausdruck null oder einmal oder geben Sie einen nicht gierigen Qualifizierer an. Um das Zeichen „?“ zu finden, verwenden Sie „?“.
* Entspricht dem vorhergehenden Unterausdruck null oder mehrmals. Um das Zeichen * zu finden, verwenden Sie *.
+ Entspricht dem vorhergehenden Unterausdruck einmal oder mehrmals. Um das +-Zeichen zu finden, verwenden Sie +.
. Entspricht jedem einzelnen Zeichen außer dem Zeilenumbruchzeichen n. Um mit . übereinzustimmen, verwenden Sie .
[] Markiert den Anfang und das Ende eines Zeichensatzes. Um [oder] zuzuordnen, verwenden Sie [Math Processing Error].
Markieren Sie das nächste Zeichen als Sonderzeichen
^ 匹配输入字符串的开始位置,除非在方括号表达式中使用,此时它表示不接受该字符集合。要匹配 ^ 字符本身,请使用 ^。
$ 匹配输入字符串的结尾位置。如果设置多行匹配,则 $ 也匹配 'n' 或 'r'。要匹配 $ 字符本身,请使用 $。
() 标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用 [Math Processing Error]。
? 匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。要匹配 ? 字符,请使用 ?。
* 匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 *。
+ 匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 +。
. 匹配除换行符 n之外的任何单字符。要匹配 .,请使用 。
[] 标记一个字符集合的开始和结束。要匹配 [或],请使用 [Math Processing Error]。
将下一个字符标记为特殊字符、或原义字符、或向后引用、或八进制转义符。例如, 'n' 匹配字符 'n'。'n' 匹配换行符。序列 '\' 匹配 "",而 '(' 则匹配 "("。
| 指明两项之间的一个选择。要匹配 |,请使用 |。
{} 标记限定符表达式的开始和结束。要匹配 {或},请使用 {或}。
oder Literalzeichen oder Rückwärtsverweis oder oktales Escapezeichen. Beispielsweise entspricht „n“ dem Zeichen „n“. 'n' entspricht einem Zeilenumbruchzeichen. Die Sequenz „\“ entspricht „“, während „(“ mit „(“ übereinstimmt.
| Gibt eine Auswahl zwischen zwei Elementen an. To To match |, verwenden Sie
{} Um den Anfang und das Ende eines Qualifikationsausdrucks zu markieren, verwenden Sie { oder }.

3. Nicht druckbare Zeichen

cx 匹配由x指明的控制字符。例如, cM 匹配一个 Control-M 或回车符。x 的值必须为 A-Z 或 a-z 之一。否则,将 c 视为一个原义的 'c' 字符。
f 匹配一个换页符。等价于 x0c 和 cL。
n 匹配一个换行符。等价于 x0a 和 cJ。
r 匹配一个回车符。等价于 x0d 和 cM。
t 匹配一个制表符。等价于 x09 和 cI。
v 匹配一个垂直制表符。等价于 x0b 和 cK。

4

5. POSIX-Zeichen

[:alnum:] 任何一个字母或数字,等价于[a-zA-Z0-9]
[:alpha:] 任何一个字母,等价于[a-zA-Z]
[:blank:] 空格或制表符,等价于[t]
[:cntrl:] ASCII控制字符(ASCII 0到31,再加上ASCII127)
[:digit:] 任何一个数字,等价于[0-9]
[:graph:] 任何一个可打印字符,但不包括空格
[:lower:] 任何一个小写字母,等价于[a-z]
[:print:] 任何一个可打印字符
[:punct:] 既不属于[:alnum:]和[:cntrl:]的任何一个字符
[:space:] 任何一个空白字符,包括空格,等价于[^fnrtv]
[:upper:] 任何一个大写字母,等价于[A-Z]
[:xdigit:] 任何一个十六进制数字,等价于[a-fA-F0-9]

6. Qualifizierer

* 匹配前面的子表达式零次或多次。例如,zo* 能匹配 "z" 以及 "zoo"。* 等价于{0,}。
+ 匹配前面的子表达式一次或多次。例如,'zo+' 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等价于{1,}。
? 匹配前面的子表达式零次或一次。例如,"do(es)?"可以匹配 "do" 或"does" 中的"do" 。? 等价于 {0,1}。
{n} n 是一个非负整数。匹配确定的 n 次。例如,'o{2}' 不能匹配 "Bob" 中的 'o',但是能匹配 "food" 中的两个 o。
{n,} n 是一个非负整数。至少匹配n 次。例如,'o{2,}' 不能匹配 "Bob" 中的 'o',但能匹配 "foooood" 中的所有 o。'o{1,}' 等价于 'o+'。'o{0,}' 则等价于 'o*'。
{n,m} m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。例如,"o{1,3}" 将匹配 "fooooood" 中的前三个 o。'o{0,1}' 等价于 'o?'。请注意在逗号和两个数之间不能有空格。

Hier vergleichen wir nur reguläre Ausdrücke nach ihren Funktionen Die Klassifizierung einiger in Ausdrücken verwendeter Operatoren ist nicht unbedingt korrekt, sondern dient lediglich der Veranschaulichung der Operatoren in regulären Ausdrücken.

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website !

Empfohlene Lektüre:

Detaillierte Analyse der Übereinstimmung einzelner Zeichen mit regulären Ausdrücken

Detaillierte Erläuterung der Verwendung regulärer Metazeichen

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Verwendung regulärer Operatoren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn