【发布时间】:2018-07-07 18:24:31
【问题描述】:
上下文:我正在构建一个解释器,并且需要实现一个空格规则。
规则是当没有被空格包围时,正则表达式必须匹配加“+”。 这是一个示例文本:
a+b c +d g+ h i + j x+y
a 和 b 之间的加号应该匹配,x 和 y 之间的加号也应该匹配。我是正则表达式的新手;但是,我尝试了以下正则表达式:
\+(?<!\s)(?!\s)
这对我来说意味着,
\+ find all "+" matches
(?<!\s) (neg look behind) that don't have spaces behind
(?!\s) (neg look ahead) that don't have spaces ahead
但是,当我在 regex101 上运行它时,我只能匹配 a 和 b 之间的第一个加号。
我不确定我在这里做错了什么。感谢您的建议。
【问题讨论】:
标签: java regex regex-negation regex-lookarounds