正则表达式处理动态的分隔符集

时间:2015-03-31 16:02:34

标签: regex

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

给出一个带有'\'转义字符和'&'分隔符的示例字符串:

TestSection1&TestSection2\\&TestSection3\&TestSection4

我希望能够分享一个有效的'&',也就是说不是&逃脱了。所以上面的例子就是这样的:

  1. TestSection1
  2. TestSection2 \
  3. TestSection3 \&安培; TestSection4
  4. 我尝试了很多正则表达式,我试图混在一起,但没有运气。有没有人对如何实现这一目标有所了解,或者它是否可能实现? 感谢

1 个答案:

答案 0 :(得分:1)

你可以使用这个基于双重lookbehind的正则表达式:

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

RegEx Demo

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