正则表达式全面解析
1. 基本正则表达式(BREs)基础
在正则表达式中,整理元素、等价类和字符类仅在方括号表达式的方括号内被识别。例如,单独写 [:alpha:] 会匹配字符 a 、 l 、 p 、 h 和 : ,正确的写法应该是 [[:alpha:]] 。
在方括号表达式内,其他元字符会失去其特殊含义。比如, [*\.] 匹配字面上的星号、反斜杠或点号。若要将 ] 包含进集合,需将其放在列表首位,如 [ ]*\.] ;若要包含连字符 - ,同样将其放在首位,如 [-*\. ] ;若两者都需要,则将 ] 作为第一个字符, - 作为最后一个字符,即 [ ]*\.-] 。
此外,POSIX 明确指出,NUL 字符(数值为零)不需要可匹配。该字符在 C 语言中用于表示字符串的结束,POSIX 标准希望使用常规 C 字符串来直接实现其功能。同时,个别实用程序可能会禁止 . (点)元字符或方括号表达式匹配换行符。
2. 反向引用
BREs 提供了反向引用机制,用于表示“匹配正则表达式前面部分所匹配的内容”。使用反向引用有两个步骤:
1. 用 \( <
超级会员免费看
订阅专栏 解锁全文
31万+

被折叠的 条评论
为什么被折叠?



