我想用一个非常具体的分隔符拆分一个字符串。
前任。发短信:
你好%!%!%;托托%!%;蒂蒂%!%!%%;塔塔%;大%;水平!%%;波波
分隔符必须为"%;",并且必须是:
- 具体按此顺序
- 前面没有 %!
所以在这个例子中,我的拆分将返回: [你好%!%!%;托托%!%;蒂蒂%!%!%%;塔塔] [大] [水平!%] [波波]
到目前为止,我的正则表达式如下所示:
[^%!](%;)
但它与最后一个分隔符不匹配,并且第一个分隔符也与 % 之前的字符匹配;
任何帮助将不胜感激。
你写[^%!]
.这意味着:不在列表中的任何字符%!
.那不是你想要的。
您可以使用否定的"向后看"表达式:(?<!...)
其中...
是匹配模式
所以你的整个正则表达式将是:(?<!%!)(%;)