下表列出了用于修改正则表达式以允许进行二者之一/或匹配的特殊字符。
替换构造 | 定义 |
---|---|
| | 与用 | (垂直条)字符分隔的任何一个术语匹配;例如,cat|dog|tiger 。使用最左侧的成功匹配。 |
(?(expression)yes|no) | 如果表达式在此位置匹配,则与“yes”部分匹配;否则,与“no”部分匹配。“no”部分可省略。表达式可以是任何有效的子表达式,但它将变为零宽度断言,因此该语法等效于 (?(?=expression)yes|no)。请注意,如果表达式是命名组的名称或捕获组编号,则替换构造将解释为捕获测试(在本表的下一行对此进行了描述)。若要避免在这些情况下产生混淆,则可以显式拼出内部 (?=expression)。 |
(?(name)yes|no) | 如果命名捕获字符串有匹配,则与“yes”部分匹配;否则,与“no”部分匹配。“no”部分可省略。如果给定的名称不与此表达式中使用的捕获组的名称或编号对应,则替换构造将解释为表达式测试(在本表的上一行进行了描述)。 |