gpt4 book ai didi

java - 正则表达式输出不一样

转载 作者:搜寻专家 更新时间:2023-11-01 03:01:59 25 4
gpt4 key购买 nike

我有这样一个字符串:

test_0001_suiteid_111_leavepolicy_employee

当我在 java 中使用正则表达式拆分它时:

_(?=.*_)

它显示的输出是这样的:

test
0001
suiteid
111
leavepolicy_employee

但是如果我使用这个字符串:

test_0001_suiteid_111_leavepolicy

它显示的输出是这样的:

test
0001
suiteid
111_leavepolicy

你能解释一下为什么会这样吗?我希望输出与使用通用正则表达式的第一个输出相同。

最佳答案

行为符合预期,仅当 另一个 下划线稍后出现在输入中时才会在下划线处拆分 - 由于向前看 (?=.*_)

如果您希望在下划线出现在数字之后时拆分,请使用此正则表达式:

(?<=\d)_|_(?=.*_)

参见 live regex demo

关于java - 正则表达式输出不一样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32742893/

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