Php Regex忽略(如果存在)并继续

Php Regex忽略(如果存在)并继续,php,regex,Php,Regex,我将正则表达式与php一起使用 在这两个例子中,我将一一匹配 例1: Nom: Mr TO MATCH 例2: Nom: Mme TO MATCH 例3: Nom: TO MATCH 我正在使用正则表达式: /Nom:\s+(?:Mr|Mme)\s+(.*)/ui 它仅适用于示例1和2,但不适用于第三个示例 如果存在并继续,如何告诉Regex忽略Mr或Mme 致以最诚挚的问候您需要将非捕获组设置为可选组;将令牌\s后的+更改为* Nom:\s+(?:Mr|Mme)?\s*(.*)

我将正则表达式与php一起使用 在这两个例子中,我将一一匹配

例1:

Nom: Mr TO MATCH 
例2:

Nom: Mme TO MATCH 
例3:

Nom: TO MATCH 
我正在使用正则表达式:

/Nom:\s+(?:Mr|Mme)\s+(.*)/ui
它仅适用于示例1和2,但不适用于第三个示例

如果存在并继续,如何告诉Regex忽略Mr或Mme


致以最诚挚的问候

您需要将非捕获组设置为可选组;将令牌
\s
后的
+
更改为
*

Nom:\s+(?:Mr|Mme)?\s*(.*)
或者,您可以排除第二个
\s
并对返回的匹配结果执行

Nom:\s+(?:Mr|Mme)?(.*)