我在php中使用regex在这两个例子中,我将匹配匹配
示例1:
Nom: Mr TO MATCH
示例2:
Nom: Mme TO MATCH
示例3:
Nom: TO MATCH
我正在使用Regex:
/Nom:'s+(?:Mr|Mme)'s+(.*)/ui
它只适用于示例1和2,但不适用于第三个
如何告诉Regex忽略Mr或Mme(如果存在)并继续?
向致以最良好的问候
您需要将非捕获组设置为可选组;在令牌CCD_ 3之后将CCD_ 1改变为CCD_。
Nom:'s+(?:Mr|Mme)?'s*(.*)
或者,您可以排除第二个's
,并对返回的匹配结果执行trim()
。
Nom:'s+(?:Mr|Mme)?(.*)