Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 正则表达式以匹配CSV中的单词_Java_Regex - Fatal编程技术网

Java 正则表达式以匹配CSV中的单词

Java 正则表达式以匹配CSV中的单词,java,regex,Java,Regex,如何匹配逗号分隔值CSV字符串中的单词,每个逗号后有一个空格 比如说: String = 'abc, def, ghijk, l, mn, opqr, stu'; 要匹配上面字符串中的完整单词,正则表达式是什么 编辑: 假设我要匹配给定字符串中的ghijk。要匹配后跟逗号和一个空格的所有单词: \b\w+(?=$|,[ ](?![ ])) 看 要检索匹配项,请执行以下操作: Pattern regex = Pattern.compile("\\b\\w+(?=$|,[ ](?![ ]))")

如何匹配逗号分隔值CSV字符串中的单词,每个逗号后有一个空格

比如说:

String = 'abc, def, ghijk, l, mn, opqr, stu';
要匹配上面字符串中的完整单词,正则表达式是什么

编辑:
假设我要匹配给定字符串中的ghijk。

要匹配后跟逗号和一个空格的所有单词:

\b\w+(?=$|,[ ](?![ ]))

要检索匹配项,请执行以下操作:

Pattern regex = Pattern.compile("\\b\\w+(?=$|,[ ](?![ ]))");
Matcher regexMatcher = regex.matcher(your_original_string);
while (regexMatcher.find()) {
// matched text: regexMatcher.group()
} 
使用模式:\S*?=,表示:任何不是空格惰性计算且后跟逗号的内容:

String aaa = "abc, def, ghijk, l, mn, opqr, stu";
Pattern pattern = Pattern.compile("(\\S*)(?=,)");
Matcher matcher = pattern.matcher(aaa);
while (matcher.find()) {
    System.out.println(matcher.group());
}
输出

另一个正则表达式..:

 public static void main(String[] args) {
            String s = "abc, def, ghijk, l, mn, opqr, stu";
            Pattern p = Pattern.compile("(\\w+)(?=,\\s+?)");
            Matcher m = p.matcher(s);
            // m.find();
            // System.out.println(m.groupCount());
            while (m.find()) {
                System.out.println(m.group());
            }

        }
O/P :
abc
def
ghijk
l
mn
opqr

有根据的猜测,因为你的问题不清楚:

String[] words = csv.split(", *");

哪个词?。示例输入和输出是必需的..检查java中reg ex的基础知识,您可以使用String[]tokens=String.split,*;我想要一个词动词是什么?代替火柴吃?什么是正则表达式来匹配一个完整的单词?所以我猜这就是匹配,@zx81。你真的需要吗?![]在你的正则表达式中?@anubhava是的:他说,在每个逗号后面跟一个空格,请参见演示,两个空格和更多空格必须失败:您的演示与记录中的最后一个单词不匹配。@anubhava谢谢,已修复。我专注于逗号的故事,这是他真正提到的。@anubhava你可能是对的。。。我们只能猜测,我跳了一个空间,但可能不需要。总是猜测询问者的意图这也与后跟一个逗号和两个空格的单词相匹配。@zx81对,这正是他所要求的,根据他的描述+示例。他的描述是在每个逗号后面跟一个空格。逗号后面的两个空格一定不能用。@zx81我知道,但我认为他不想在一个单词中包含额外的空格,因为他还写道:为了匹配一个完整的单词,这很酷,完全取决于你,我只是指出了这一点,因为他说的是单空格。措辞有时不精确,可能是你猜对了。我们总是猜测询问者的意图,你的猜测和我的一样好
String[] words = csv.split(", *");