我有以下正则表达式,具有积极的前瞻性:

/black(?=hand)[ s]/

我希望它与 blackhand blackhand 匹配。但是,它不匹配任何内容。我正在Regex101上进行测试。

我究竟做错了什么?

最佳答案

前瞻不消耗正在搜索的字符串。这意味着[ s]会尝试在黑色之后立即匹配空格或。但是,您的前瞻性表示必须遵循黑色,因此正则表达式无法匹配任何内容。

要在使用lookahead时匹配 blackhands blackhand ,请在lookahead中移动[ s]:black(?=hand[ s])。另外,也不要完全使用前瞻:blackhand[ s]

08-03 15:13