Regex来处理一组动态的delimter



我正在编写一个解析器,如果可能的话,需要通过regex处理转义字符。

给定的示例字符串,转义符为"\",分隔符为"&":

TestSection1&TestSection2\&TestSection3&TestSection4

我希望能够在有效的"&"上进行拆分,也就是说不是&那是逃脱的。所以上面的例子是这样的:

  1. 测试部分1
  2. 测试部分2\
  3. 测试第3节;测试部分4

我试了好几个正则表达式,我试着把它们混在一起,但没有成功。有人知道如何做到这一点吗?或者这是否可能?感谢

您可以使用这个基于双查找的正则表达式:

(.+?)(?:(?<!(?<!\)\)&|$)

RegEx演示

如果&前面没有单个 ,则(?:(?<!(?<!\)\)&|$)表示匹配&或结束锚

最新更新