我很难找到合适的正则表达式,因为我希望匹配'%',但前提是引号之间没有'\'。
例如,我想让它作为匹配回来
测试\“此%匹配\”测试
但不匹配
测试\“此\%与\”测试
不匹配
正规英雄主人愿意帮我这个吗?!
最终我的目标是确保在报价单中找到每个'%'时进行转义。
编辑: 这就是我现在所拥有的
这是我目前所拥有的,但绝对不正确。
\ “ [%] [^ \%]。 \”
答案 0 :(得分:2)
([^\\]|\\[^%])*
看起来这似乎适用于https://regex101.com/
的测试这些部分是( [^\\] | \\[^%] )*
()*
表示包含的组中的0个或更多。
包含的群组 [^\\]
或\\[^%]
。第一种情况是"任何不是反斜杠的字符,"其中包括百分号。第二种情况是"反斜杠后跟任何不是百分号的字符。"
[^ ]
运算符是"除了这些之外的任何字符。"