正则expression式以任意顺序匹配包含两个名字的string

我需要在逻辑与正则expression式。

就像是

杰克和詹姆斯

同意以下string

  • '嗨杰克这里是詹姆斯 '

  • “你好, 詹姆斯这里是杰克

您可以使用lookarounds进行检查:

^(?=.*\bjack\b)(?=.*\bjames\b).*$ 

testing它。

这种方法具有可以轻松指定多个条件的优点。

 ^(?=.*\bjack\b)(?=.*\bjames\b)(?=.*\bjason\b)(?=.*\bjules\b).*$ 

尝试:

 james.*jack 

如果你同时需要,那么or他们:

 james.*jack|jack.*james 

我要写的命令的解释

. 指的是任何字符,数字都可以代替。

*表示在它之前的事物的一个或零发生。

| 意思是“或”

所以,

 james.*jack 

会searchjames ,然后任何数量的字符,直到jack来。

既然你想要jack.*jamesjames.*jack

因此命令

 jack.*james | james.*jack 

你可以做:

 \bjack\b.*\bjames\b|\bjames\b.*\bjack\b