我正在编写一个解析器,如果可能的话,需要通过regex处理转义字符。
给定的示例字符串,转义符为"\",分隔符为"&":
TestSection1&TestSection2\&TestSection3&TestSection4
我希望能够在有效的"&"上进行拆分,也就是说不是&那是逃脱的。所以上面的例子是这样的:
- 测试部分1
- 测试部分2\
- 测试第3节;测试部分4
我试了好几个正则表达式,我试着把它们混在一起,但没有成功。有人知道如何做到这一点吗?或者这是否可能?感谢
您可以使用这个基于双查找的正则表达式:
(.+?)(?:(?<!(?<!\)\)&|$)
RegEx演示
如果&
前面没有单个 ,则
(?:(?<!(?<!\)\)&|$)
表示匹配&
或结束锚