gpt4 book ai didi

java - 如何在 - 和 ^ 之间或 - 之后获取字符串

转载 作者:行者123 更新时间:2023-12-01 06:31:18 24 4
gpt4 key购买 nike

我有以下字符串,我想从中提取 - 和 ^ 之间的字符串。而且我还想要 after - 的字符串,前提是它是给定字符串中的最后一个 -

090186-1052^0901164-1052^090180046165-585^0980046166-24064^090186a980046170-24064^00046168-36495^0901846169-46731^0d019616e-34985^8004616f-13010^186a9846167-778

我已经编写了以下代码,但我得到了除 778 以外的所有值,而 778 是 null

public static void main(String args[]){
Pattern pattern = Pattern.compile("-(.+?)\\^|-(.+)");
String str = "090186-1052^0901164-1052^090180046165-585^0980046166-24064^090186a980046170-24064^00046168-36495^0901846169-46731^0d019616e-34985^8004616f-13010^186a9846167-778";
Matcher matcher = pattern.matcher(str);
while (matcher.find()) {
System.out.println(matcher.group(1));
}
}

最佳答案

合适的正则表达式是

Pattern pattern = Pattern.compile("-(.+?)(?:\\^|$)");

内容如下:- 后跟任何字符(分组的、不情愿的),后跟(非捕获的)^ 或输入结束符。

这样匹配的号码总是在第一组。

关于java - 如何在 - 和 ^ 之间或 - 之后获取字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33166197/

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