繁体   English   中英

分割正则表达式; 保持定界符

[英]Split regex; keep delimiter

我有一个文本看起来像这样:

This is [!img|http://imageURL] text containing [!img|http://imageURL2] some images in it

因此,现在我想将此字符串分成几部分并保留定界符。 我已经弄清楚了,该方法可以拆分字符串,但不能保留定界符:

\[!img\|.*\]

在其他一些帖子中,我看到我需要添加?<=来保留定界符。 因此,我将两者都连接了,但是却收到错误消息: Lookbehinds need to be zero-width, thus quantifiers are not allowed这是引发此错误的完整正则表达式:

(?<=\[!img\|.*\])

我期望结果是:

[This is; [!img|http://imageURL]; text containing; [!img|http://imageURL2]; some images in it]

那么什么是最好的解决方法?

您可以结合使用环视断言

String[] splitArray = subject.split("(?<=\\])|(?=\\[!img)");

如果前面的字符是[ ]或后面的字符[!img ] ,则将拆分字符串。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM