gpt4 book ai didi

java - 你能在字符串拆分中使用零宽度匹配正则表达式吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:29:02 27 4
gpt4 key购买 nike

System.out.println(
Arrays.deepToString(
"abc<def>ghi".split("(?:<)|(?:>)")
)
);

这会打印出 [abc, def, ghi] , 就好像我在 "<|>" 上 split 了一样.我想让它打印 [abc, <def>, ghi] .有没有办法使用一些正则表达式魔术来完成我在这里想要的东西?


也许是一个更简单的例子:

System.out.println(
Arrays.deepToString(
"Hello! Oh my!! Good bye!!".split("(?:!+)")
)
);

这会打印出 [Hello, Oh my, Good bye] .我想让它打印 [Hello!, Oh my!!, Good bye!!] .`.

最佳答案

你需要看看零宽度匹配结构:

(?=X)   X, via zero-width positive lookahead
(?!X) X, via zero-width negative lookahead
(?<=X) X, via zero-width positive lookbehind
(?<!X) X, via zero-width negative lookbehind

关于java - 你能在字符串拆分中使用零宽度匹配正则表达式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2406633/

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