gpt4 book ai didi

java正则表达式拆分字符串

转载 作者:行者123 更新时间:2023-11-29 03:21:55 25 4
gpt4 key购买 nike

使用 Java 正则表达式获取包含在“${VALUE}”内的字符串的正则表达式抛出异常

public static void main(String[] args) {

String test = "Report for ${PROCESS_NAME} with status ${PROCESS_STATUS}";
String[] results = test.split("\\${([^\\{\\}]*)\\}");
for (String result : results) {
System.err.println(result);
}
}



Exception in thread "main" java.util.regex.PatternSyntaxException: Illegal repetition near index 1
\${([^\{\}]*)\}
^
at java.util.regex.Pattern.error(Unknown Source)
at java.util.regex.Pattern.closure(Unknown Source)
at java.util.regex.Pattern.sequence(Unknown Source)

预期数组:results = PROCESS_NAME, PROCESS_STATUS;

输入的测试字符串不是固定长度的。正则表达式有什么问题。

最佳答案

我建议这个解决方案

    Matcher m = Pattern.compile("\\$\\{(.+?)\\}").matcher(test);
while(m.find()) {
System.out.println(m.group(1));
}

关于java正则表达式拆分字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23097530/

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