--- notion-id: ed1c4aed-c3bf-4941-a481-e121c34b6efe --- | 替换构造 | 描述 | 模式 | 匹配 | | --- | --- | --- | --- | | `|` | 匹配以竖线 (`|`) 字符分隔的任何一个元素。 | `th(e|is|at)` | `"this is the day."` 中的 `"the"` 和 `"this"` | | `(?(` expression`)`yes`|`no`)`或`(?(` expression`)`yes`)` | 如果由 *expression*指定的正则表达式模式匹配,则匹配 *yes* ;否则,匹配可的 *no* 部分。 *expression* 解释为零宽度的断言。为了避免已命名或已编号的捕获组出现歧义,可选择使用显式断言,如下所示:`(?( (?=` expression`) )`yes`|`no`)` | `(?(A)A\d{2}\b|\b\d{3}\b)` | `"A10 C103 910"` 中的 `"A10"` 和 `"910"` | | `(?(` name`)`yes`|`no`)`或`(?(` name`)`yes`)` | 如果 *name* (已命名或已编号的捕获组)具有匹项,则匹配 *yes*;否则,匹配可的 *no*。 | `(?")?(?(quoted).+?"|\S+\s)` | `"Dogs.jpg \"Yiska playing.jpg\""` 中的 `"Dogs.jpg "` 和 `"\"Yiska playing.jpg\""` |