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

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



