Java 正则表达式 : split comma-separated values but ignore commas in quotes

标签 java regex

我的文字如下:

"text","1","more, more text","3"

任何人都可以告诉我我必须使用什么正则表达式分隔符才能获得以下内容:

text
1
more, more text
3

我正在阅读 Sun 教程 here ,直到“匹配器类的方法”,但我仍然不知所措。谢谢!

如果它是像 text,1,more 这样的东西,那就很容易了,但不幸的是事实并非如此。有什么想法吗?

最佳答案

试试这个模式:“(.+?)”

它将匹配双引号之间的 1 个或多个字符。引号之间的文本部分可用作 matcher.group(1)

查看 Pattern 类的 javadoc 以了解更多信息。另外,看看 matcher.find() 方法。

关于Java 正则表达式 : split comma-separated values but ignore commas in quotes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9605773/

相关文章:

c# regex 查找和替换重用匹配文本的一部分

java - java程序编写的每个字符附加了不需要的字符

Java Spring Patch RFC-6902 即时类型转换异常

java - 有没有更好/更小的方法来比较矩阵的值

javascript - 如何在java脚本中使用正则表达式验证文本?

正则表达式以使用 egrep 获取分隔内容

php - 当文本也包含 'of' 时,正则表达式提取包含 'Isle of Man' (如 'of' )的地名

javascript - Node 正则表达式解析器中的内存泄漏?

java - 如何在 java 接口(interface)中使用泛型?

Java - 使用 ListIterator .hasNext() 的无限循环