匹配运算符只与正则表达式匹配

时间:2014-10-29 17:00:54

标签: regex pcre

使用这个example,我试图只匹配类似C的代码中的运算符,以便在它之前和之后添加空格

例如,a+b应该变为a + b,但a + b不应变为a + b。另一个棘手的问题是我不应该在-2这样的负数的情况下添加空格。当然,我需要了解所有异常,例如// work-around等评论中的文字。

这是我正在处理的正则表达式:

(?!= |=|&|\||%)(\+|-)(?! |=|\1)

不幸的是,负面观察并不像预期的那样有效。我该如何解决?

1 个答案:

答案 0 :(得分:1)

这只是为了帮助你的正则表达式 第一个(负面的)前瞻,应该是(负面的)后视。

我认为这不会有助于解析数学符号。

http://regex101.com/r/lX3aF6/1

 # (?<!=[ ])(?<![=&|%])(\+|-)(?!\1|[ =])

 (?<! = [ ] )
 (?<! [=&|%] )
 ( \+ | - )
 (?! \1 | [ =] )