正则表达式匹配硬模式

时间:2019-04-10 13:48:08

标签: 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:59"
"7104"
"13:29"

我目前在Java中使用的正则表达式是:('[^']*'|[^\s|,]+)Which doesn't match accurately;它与我不需要的逗号匹配。

请有人帮我使它更准确吗?

1 个答案:

答案 0 :(得分:1)

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

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

Regex demo

如果要匹配零个或多个单引号,则可以改用'*