Regex 如何执行正则表达式和操作?

Regex 如何执行正则表达式和操作?,regex,scala,Regex,Scala,我有一个字符串“鲍勃想去爱丽丝家”。我想匹配这样的模式(爱丽丝和鲍勃)。所以我已经尝试过了 (.*alice.*.*bob.*) 但在这里,这并不是秩序问题。 如何使用regex实现这一点。要以任意顺序匹配两个(或更多)模式,可以使用前瞻断言,因为它允许在不移动输入光标的情况下匹配模式 ^(?=.*alice)(?=.*bob).* 输入锚的开始是为了避免不必要的回溯。您的模式。有什么问题吗?我想使用前瞻断言将此模式与“bob想去alice place”字符串相匹配(?=.*alice)(?

我有一个字符串“鲍勃想去爱丽丝家”。我想匹配这样的模式(爱丽丝和鲍勃)。所以我已经尝试过了

(.*alice.*.*bob.*)
但在这里,这并不是秩序问题。 如何使用regex实现这一点。

要以任意顺序匹配两个(或更多)模式,可以使用前瞻断言,因为它允许在不移动输入光标的情况下匹配模式

^(?=.*alice)(?=.*bob).*

输入锚的开始是为了避免不必要的回溯。

您的模式。有什么问题吗?我想使用前瞻断言将此模式与“bob想去alice place”字符串相匹配
(?=.*alice)(?=.*bob)。*
如果您想确保alice和bob仅在显示为单词时匹配,请使用
\b
将它们包装起来,例如:
^(?=.\balice\b)(?=.\bbob\b)。*