Especificaciones de expresiones regulares

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


La especificación POSIX de expresiones regulares se divide en dos escuelas principales :
expresiones regulares básicas (Expresión regular básica, BRE )
y expresiones regulares extendidas (Expreso regular extendido, ERE ).

En los sistemas UNIX compatibles con POSIX, las herramientas como grep y egrep siguen la especificación POSIX, y las expresiones regulares en algunos sistemas de bases de datos también se ajustan a la especificación POSIX.

grep, vi y sed pertenecen a BRE, que es la expresión regular más antigua de la historia, por lo que los metacaracteres deben traducirse antes de que tengan significados especiales. egrep y awk pertenecen a ERE, y los metacaracteres no necesitan ser traducidos

Metacaracteres

\	将下一个字符标记为一个特殊字符(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*”。
...

Escapar es \+ \?...

Publicado 36 artículos originales · ganado elogios 1 · vistas 8967

Supongo que te gusta

Origin blog.csdn.net/u011091701/article/details/104369150
Recomendado
Clasificación