Maison > interface Web > js tutoriel > Explication détaillée de l'utilisation des opérateurs réguliers

Explication détaillée de l'utilisation des opérateurs réguliers

php中世界最好的语言
Libérer: 2018-03-30 10:16:58
original
1188 Les gens l'ont consulté

Cette fois, je vais vous apporter une explication détaillée de l'utilisation des opérateurs réguliers. Quelles sont les précautions lors de l'utilisation d'opérateurs réguliers. Voici des cas pratiques, jetons un coup d'oeil.

Les exemples de cet article décrivent les opérateurs et les descriptions dans les expressions régulières. Partagez-le avec tout le monde pour votre référence, comme suit :

1. Les caractères ordinaires

incluent tous les caractères imprimables et non imprimables qui ne sont pas explicitement désignés comme métacaractères, tels que comme lettres majuscules et minuscules, chiffres, signes de ponctuation, etc.

2. Métacaractères

Les métacaractères sont des caractères qui ont des significations particulières dans les expressions régulières. Étant donné que les métacaractères ont une signification particulière dans les expressions régulières, ces caractères ne peuvent pas être utilisés pour se représenter eux-mêmes et doivent être échappés en les préfixant d'une barre oblique inverse. La séquence d'échappement résultante correspondra à ce caractère lui-même au lieu de sa signification particulière. Par exemple, [ représente le début d'un jeu de caractères. Si vous souhaitez faire correspondre [ dans une expression régulière, vous devez le citer comme ceci : [ pour représenter [ lui-même.

^ Correspondance Entrez la position de départ de la chaîne de caractères
^ 匹配输入字符串的开始位置,除非在方括号表达式中使用,此时它表示不接受该字符集合。要匹配 ^ 字符本身,请使用 ^。
$ 匹配输入字符串的结尾位置。如果设置多行匹配,则 $ 也匹配 'n' 或 'r'。要匹配 $ 字符本身,请使用 $。
() 标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用 [Math Processing Error]。
? 匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。要匹配 ? 字符,请使用 ?。
* 匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 *。
+ 匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 +。
. 匹配除换行符 n之外的任何单字符。要匹配 .,请使用 。
[] 标记一个字符集合的开始和结束。要匹配 [或],请使用 [Math Processing Error]。
将下一个字符标记为特殊字符、或原义字符、或向后引用、或八进制转义符。例如, 'n' 匹配字符 'n'。'n' 匹配换行符。序列 '\' 匹配 "",而 '(' 则匹配 "("。
| 指明两项之间的一个选择。要匹配 |,请使用 |。
{} 标记限定符表达式的开始和结束。要匹配 {或},请使用 {或}。
, sauf si elle est utilisée dans une expression entre crochets, auquel cas cela indique que le jeu de caractères n'est pas accepté. Pour faire correspondre le caractère ^ lui-même, utilisez ^.
$ Correspond à la fin de la chaîne d'entrée. Si la correspondance multiligne est définie, $ correspond également à « n » ou « r ». Pour faire correspondre le caractère $ lui-même, utilisez $.
() Marque le début et la fin d'une sous-expression. Les sous-expressions peuvent être obtenues pour une utilisation ultérieure. Pour faire correspondre ces caractères, utilisez [Erreur de traitement mathématique].
? Faites correspondre zéro ou une fois la sous-expression précédente, ou spécifiez un qualificatif non gourmand. Pour faire correspondre le caractère ?, utilisez ?.
* Correspond à la sous-expression précédente zéro ou plusieurs fois. Pour faire correspondre le caractère *, utilisez *.
+ Correspond à la sous-expression précédente une ou plusieurs fois. Pour faire correspondre le caractère +, utilisez +.
. Correspond à n'importe quel caractère unique à l'exception du caractère de nouvelle ligne n. Pour faire correspondre ., utilisez .
[] Marque le début et la fin d'un jeu de caractères. Pour faire correspondre [ou], utilisez [Erreur de traitement mathématique].
Marquer le caractère suivant comme Caractère spécial

, ou caractère littéral, ou référence arrière, ou caractère d'échappement octal. Par exemple, « n » correspond au caractère « n ». 'n' correspond à un caractère de nouvelle ligne. La séquence '\' correspond à "", tandis que '(' correspond à "(".

| Indique un choix entre deux éléments. Pour faire correspondre |, utilisez |.
{} Marquez le début et la fin d'une expression de qualificatif. Pour faire correspondre { ou }, utilisez { ou }.
3. Caractères non imprimables
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.

. 任何字符(与结束符rn可能匹配也可能不匹配)
d 数字,等价于[0-9]
D 非数字,等价于[^0-9]
s 空白字符,等价于[ tnx0Bfr]
S 非空白字符,等价于[^s]
w 单词字符,等价于[a-zA-Z_0-9]
W 非单词字符,等价于[^w]
b 单词的前或后边界
B 表示非单词边界

5. Caractères POSIX

[: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. Qualificateurs

* 匹配前面的子表达式零次或多次。例如,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?'。请注意在逗号和两个数之间不能有空格。

Ici, on compare simplement les expressions régulières en fonction de leurs fonctions . La classification de certains opérateurs utilisés dans les expressions n'est pas nécessairement exacte, mais sert simplement à illustrer les opérateurs dans les expressions régulières.

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php. !

Lecture recommandée :

Analyse détaillée de la correspondance de caractères uniques avec des expressions régulières

Explication détaillée de l'utilisation des métacaractères réguliers

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal