35.3.1 正则表达式语法

正则表达式的语法中,少数字符是特殊结构,其余为 普通字符(ordinary)。普通字符作为简单正则,只匹配自身。特殊字符包括:‘.’、‘*’、‘+’、‘?’、‘[’、‘^’、‘$’ 和 ‘\’;未来不会再定义新的特殊字符。字符 ‘]’ 在结束括号表达式时为特殊字符(见后文)。字符 ‘-’ 在括号表达式内部为特殊字符。‘[:’ 与配对的 ‘:]’ 用于在括号表达式内部包裹字符类。正则表达式中出现的其他字符均为普通字符,除非前面带有 ‘\’。

例如,‘f’ 不是特殊字符,因此是普通字符,‘f’ 作为正则只匹配字符串 ‘f’,不匹配其他字符串。(它**不**匹配字符串 ‘fg’,但可以匹配该字符串的**一部分**。)同样,‘o’ 只匹配 ‘o’。

任意两个正则表达式 ab 可以拼接。拼接后的正则匹配某字符串,当且仅当 a 匹配该字符串开头的一部分,且 b 匹配剩余部分。

举一个简单例子,我们可以将正则 ‘f’ 和 ‘o’ 拼接为 ‘fo’,它只匹配字符串 ‘fo’。这仍然很简单。想要实现更强大的功能,需要使用正则特殊结构。