gpt4 book ai didi

java - 分割正则表达式;保留分隔符

转载 作者:行者123 更新时间:2023-11-30 02:59:11 27 4
gpt4 key购买 nike

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

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]

那么解决这个问题的最佳方法是什么?

最佳答案

您可以使用 lookaround assertions 的组合:

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

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

关于java - 分割正则表达式;保留分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36388421/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com