regex - 正向超前无法按预期工作

标签 regex regex-lookarounds

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

/black(?=hand)[ s]/

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

我究竟做错了什么?

最佳答案

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

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

关于regex - 正向超前无法按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31347686/

相关文章:

javascript - Node JS : extracting strings between two DIFFERENT characters and storing them in an array

正则表达式-匹配字符串时不带前导和尾随空格

regex - 后视字符串或字符的开头

正则表达式:如果组 2 不在组 3 和组 1 之间,则匹配 "group3.*group1"

java - 如何优化正则表达式模式?

python - 使用正则表达式从 PDF 原始文本中提取子字符串

python - 正则表达式 (regex) 从 Python 中的字符串中删除单词 "and"、非字母数字字符和空格

regex - 纯粹使用 bash 正则表达式压缩工作目录

javascript - 用于捕获图像 src 属性的正则表达式

javascript - 正则表达式:仅当另一个单词不存在时才匹配单词