Spécification des expressions régulières

De wiki
https://zh.wikipedia.org/wiki/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F#历史


La spécification POSIX des expressions régulières est divisée en deux écoles principales :
les expressions régulières de base (Basic Regular Expression, BRE )
et les expressions régulières étendues (Extended Regular Express, ERE ).

Sur les systèmes UNIX compatibles avec POSIX, des outils tels que grep et egrep suivent tous la spécification POSIX et les expressions régulières de certains systèmes de base de données sont également conformes à la spécification POSIX.

grep, vi et sed appartiennent tous à BRE, qui est la première expression régulière de l'histoire, donc les métacaractères doivent être traduits avant d'avoir une signification particulière. egrep et awk appartiennent à ERE, et les méta caractères n'ont pas besoin d'être traduits

Métacaractères

\	将下一个字符标记为一个特殊字符(File Format Escape,清单见本表)、或一个原义字符(Identity Escape,有^$()*+?.[\{|共计12个)、或一个向后引用(backreferences)、或一个八进制转义符。例如,“n”匹配字符“n”。“\n”匹配一个换行符。序列“\\”匹配“\”而“\(”则匹配“(”。
^	匹配输入字符串的开始位置。如果设置了RegExp对象的Multiline属性,^也匹配“\n”或“\r”之后的位置。
$	匹配输入字符串的结束位置。如果设置了RegExp对象的Multiline属性,$也匹配“\n”或“\r”之前的位置。
*	匹配前面的子表达式零次或多次。例如,zo*能匹配“z”、“zo”以及“zoo”。*等价于{0,}。
+	匹配前面的子表达式一次或多次。例如,“zo+”能匹配“zo”以及“zoo”,但不能匹配“z”。+等价于{1,}。
?	匹配前面的子表达式零次或一次。例如,“do(es)?”可以匹配“does”中的“do”和“does”。?等价于{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*”。
...

S'échapper, c'est \+ \?...

Publié 36 articles originaux · louange gagné 1 · vues 8967

Je suppose que tu aimes

Origine blog.csdn.net/u011091701/article/details/104369150
conseillé
Classement