我需要解析一个字符串;作为分隔符。但如果文本在双引号内,则不需要解析文本。
示例我需要解析
this ; "but not ; this"
为此,我提出了正则表达式,它可以正常工作。
;(?=(?:(?:[^\"]*\"){2})*[^\"]*$)
现在,如果文本包含转义引号,则上述模式不起作用。
我需要解析
this ; "but \" not ; this"
你能帮助我解决在引号中省略转义引号的模式吗?
答案 0 :(得分:0)
只要双引号不平衡,您就可以将此正则表达式与negative look-behind
一起使用:
(?s);(?=(?:(?:.*?(?<!\\\\)\"){2})*[^\"]*$)