Java的模式匹配器

时间:2014-11-13 18:02:44

标签: java regex csv

如何在java模式匹配器中提供此模式

"([^"]*)"|(?<=,|^)([^,]*)(?=,|$)

我收到编译错误。

我的代码是,

Pattern p = Pattern.compile("([^"]*)"|(?<=,|^)([^,]*)(?=,|$));  \\Getting syntax error here

请解决

2 个答案:

答案 0 :(得分:2)

你的模式中的双引号字符应始终以这样的反斜杠开头..

\&#34;

答案 1 :(得分:2)

你没有逃避模式中的"引号,导致它们过早地终止了模式的字符串:

"([^"]*)"|(?<=,|^)([^,]*)(?=,|$)
    ^---^--

尝试

"([^\"]*)\"|(?<=,|^)([^,]*)(?=,|$)
    ^----^---

代替。请注意反斜杠。