我正在尝试获取一个正则表达式来匹配“ [stuff] ”。可以有转义字符,但只要有偶数个,它们什么都不做。我的正则表达式是:
(?<!\\\\)(\\\\\\\\)*\".*?(?<!\\\\)(\\\\\\\\)*\"
并且当第二个引号有偶数个\
s 时匹配,即 ( "a daf asd \\"
)
但不是在第一个报价时(即\\" adf "
)
有人对为什么这不起作用有任何想法吗?
如果我清楚您要做什么,请尝试使用以下内容。
(?<!\\)(?:\\\\)*".*?(?<!\\)(?:\\\\)*"
正则表达式解释:
(?<!\\) Matches if the preceding char is not a backslash
(?:\\\\)* Matches 0 or more occurrences of two backslashes
" Matches a double quote
.*? Matches any character except \n (0 or more times)
Repeat lines 1-3
观看现场演示