【发布时间】:2016-04-30 05:06:07
【问题描述】:
我需要一个正则表达式,它应该用空格解析字符串,如果空格存在于以引号(单/双)结尾的字符串中,那么它不应该解析。
abc cde 'efg hij'k lmn'opq rst' 'ijk lmn' u'v'w xyz 'abc' \'\\\\\' \'_Notes.txt\'
需求O/P:
abc
cde
'efg hij'k
lmn'opq rst'
'ijk lmn'
u'v'w
xyz
'abc'
\'\\\\\'
\'_Notes.txt\'
我使用下面的模式来满足我的要求,但这个解析如下所示
Pattern p = Pattern.compile("[^\\s\"']+|\"([^\"]*)\"|'([^']*)'");
O/P:
abc
cde
'efg hij' //here k is missing
lmn'opq
rst'
'ijk lmn'
u'v'w
xyz
'abc'
'\\' //here original string is \'\\\\\'
'_Notes.txt' //here origina string \'_Notes.txt\'
【问题讨论】: