gpt4 book ai didi

java - 使用标识符拆分字符串中的单词的正则表达式模式

转载 作者:行者123 更新时间:2023-11-30 06:32:50 32 4
gpt4 key购买 nike

我想使用 DOTALL 正则表达式模式用逗号分割以下字符串,该模式将接受字母、数字、空格和特殊字符(例如下划线和星号),即 @input("Test_1, Test_TWO , TEST_THIRTY_3*") 因此输出如下所示:

"Test_1",
"Test_TWO",
"TEST_THIRTY_3*"
<小时/>
public static void main(String args[])
{
String line = "@input(\"Test_1,Test_TWO , TEST_THIRTY_3*\"\\)\";
String pattern = "@input(\"(.*?)\".*";
Pattern r = Pattern.compile(pattern, Pattern.DOTALL);
Matcher m = r.matcher(line);
while (m.find()) {
System.out.println("Found word: " + m.group(1) );
}

最佳答案

您必须通过 \( 转义 ( ,因此您的正则表达式应如下所示 @input\(\"(.*?)\"。 *,其次你可以使用 \s*,\s* 来分割结果,如下所示:

String line = "@input(\"Test_1,Test_TWO , TEST_THIRTY_3*\"\\)";
String pattern = "@input\\(\"(.*?)\".*";
Pattern r = Pattern.compile(pattern, Pattern.DOTALL);
Matcher m = r.matcher(line);
while (m.find()) {
System.out.println(Arrays.toString(m.group(1).split("\\s*,\\s*")));
//----------------------------------------------------^^^^^^^^
}

输出

[Test_1, Test_TWO, TEST_THIRTY_3*]

关于java - 使用标识符拆分字符串中的单词的正则表达式模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45736536/

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