正则表达式匹配%但不是\%

时间:2017-10-17 18:21:11

标签: regex

我很难找到合适的正则表达式,因为我希望匹配'%',但前提是引号之间没有'\'。

例如,我想让它作为匹配回来

  

测试\“此%匹配\”测试

但不匹配

  

测试\“此\%与\”测试

不匹配

正规英雄主人愿意帮我这个吗?!

最终我的目标是确保在报价单中找到每个'%'时进行转义。

编辑: 这就是我现在所拥有的

这是我目前所拥有的,但绝对不正确。

  

\ “ [%] [^ \%]。 \”

1 个答案:

答案 0 :(得分:2)

([^\\]|\\[^%])*

看起来这似乎适用于https://regex101.com/

的测试

这些部分是( [^\\] | \\[^%] )*

()*表示包含的组中的0个或更多。

包含的群组 [^\\]\\[^%]。第一种情况是"任何不是反斜杠的字符,"其中包括百分号。第二种情况是"反斜杠后跟任何不是百分号的字符。"

[^ ]运算符是"除了这些之外的任何字符。"