我的文字看起来像那样:
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]
那么解决它的最佳方法是什么?
答案 0 :(得分:2)
您可以使用lookaround assertions:
的组合String[] splitArray = subject.split("(?<=\\])|(?=\\[!img)");
如果前面的字符是]
或者以下字符是[!img
,则会拆分字符串。