gpt4 book ai didi

java - 正则表达式用空格和双引号标记java中的字符串

转载 作者:行者123 更新时间:2023-12-04 05:12:24 26 4
gpt4 key购买 nike

我正在尝试创建一个正则表达式来标记字符串。一个示例字符串是。

"hello world" Alexandros Alex "I Am" Something

我需要得到回应:
hello world
Alexandros
Alex
I am
Something

所以为了清楚起见,用空格标记而不是引号内的单词。
如果这是一个简单的常规表达,对不起,但我总是与这些斗争。

最佳答案

你可以试试:\b(?:(?<=")[^"]*(?=")|\w+)\b .这将从匹配中排除实际报价。

import java.util.regex.*;
public class Test {
public static void main(String...args) {
String line = "\"hello world\" Alexandros Alex \"I Am\" Something";
Pattern pattern = Pattern.compile("\\b(?:(?<=\")[^\"]*(?=\")|\\w+)\\b");
Matcher matcher = pattern.matcher(line);
while (matcher.find()) {
System.out.println(matcher.group(0));
}
}
}

执行时,您会得到以下输出:
$ javac Test.java
$ java Test
hello world
Alexandros
Alex
I Am
Something

关于java - 正则表达式用空格和双引号标记java中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14735171/

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