Java 正则表达式匹配硬模式

Java 正则表达式匹配硬模式,java,regex,Java,Regex,我有以下输入字符串: '10,00', '20,00','','aaa',' false true ' 'aaaaa'','-*/++;;','',- '1898302',21/07/2011,'12:59',7104, 13:29 我需要匹配这些字符串: "10,00" "20,00" "" "aaa" " false true " "aaaaa'" "-*/++;;" "1898302" "21/07/2011" "12:5

我有以下输入字符串:

'10,00', '20,00','','aaa','       false   true         '
'aaaaa'','-*/++;;','',-
'1898302',21/07/2011,'12:59',7104, 13:29
我需要匹配这些字符串:

"10,00" 
"20,00"
""
"aaa"
"       false   true         "
"aaaaa'"
"-*/++;;"
"1898302"
"21/07/2011"
"12:59"
"7104"
"13:29"
我目前在Java中使用的正则表达式是:'[^']*'.[^\s |,]+。 ; 它匹配一个我不想要的逗号


有人能帮我把它弄得更准确吗?

解决当前数据问题的一个方法是添加一个可选的单引号:

('[^']*''?|[^\s|,]+)
        ^^ 

如果要匹配零个或多个单引号,可以使用“*”。

逗号位于单引号之间,因此需要匹配其中一个单引号实际上属于前一个单词,那么您希望如何区分它们?一旦您知道您的要求,别忘了更新这个问题。@LeonardoChirivì也许可以将结尾的第二个单引号设置为可选的“[^”]*?|[^\s |,]+请参见