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 inregulä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
|
|||||||||||||||||||||||
| | 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!