上下文:我正在构建一个有趣的解释器,需要实现空白规则。
规则是,当正则表达式不被空格包围时,必须匹配加号“ +”。这是一个示例文本:
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之间的第一个加号。
我不确定我在这里做错了什么。意见表示赞赏。
12345678_0001
相关分类