Регулярное выражение для соответствия жесткой схеме - PullRequest
0 голосов
/ 10 апреля 2019

У меня есть строка ввода:

'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|,]+). Что не соответствует точно ;это соответствует запятой, которую я не хочу.

Может кто-нибудь помочь мне сделать это более точным?

1 Ответ

1 голос
/ 29 апреля 2019

Один из вариантов решения проблемы для ваших текущих данных - добавить дополнительную одинарную кавычку:

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

Regex demo

Если вы хотите сопоставить ноль или более одинарных кавычек, вы можете использовать '*.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...