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
|
||||||||||||||||||||||
$ | 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 }. |
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!