s*******y 发帖数: 558 | 1 如何在java里面用regular expression parse下面的string:
{"hello", "hello world", "1hello-2*hello"}
要求结果是把引号里面的词组提取出来:
hello
hello world
1hello-2*hello
我试了[^{},"]+ 和 [^{},"\s+]+ 没有成功。 问题是如何区分引号里面的空格和引
号外面的空格?
谢谢了
p.s.好像前面有个类似的问题。 但是似乎最后没有好的解决方法。 | l*******9 发帖数: 177 | 2 very typical problem, use capturing-parenthesis: "([^"]+)"
if there are escaped double quotes, then: "([^\\"]*(?:\\.[^\\"]*)*)"
turn on 'global match', and fetch $1.
【在 s*******y 的大作中提到】 : 如何在java里面用regular expression parse下面的string: : {"hello", "hello world", "1hello-2*hello"} : 要求结果是把引号里面的词组提取出来: : hello : hello world : 1hello-2*hello : 我试了[^{},"]+ 和 [^{},"\s+]+ 没有成功。 问题是如何区分引号里面的空格和引 : 号外面的空格? : 谢谢了 : p.s.好像前面有个类似的问题。 但是似乎最后没有好的解决方法。
| t*****g 发帖数: 1275 | 3 echo '{"hello", "hello world", "1hello-2*hello"}' | perl -ne 'while (/\"([^\
"]+?)\"(.*)/) {print "$1\n"; $_ = $2}'
Java should be even easier
【在 s*******y 的大作中提到】 : 如何在java里面用regular expression parse下面的string: : {"hello", "hello world", "1hello-2*hello"} : 要求结果是把引号里面的词组提取出来: : hello : hello world : 1hello-2*hello : 我试了[^{},"]+ 和 [^{},"\s+]+ 没有成功。 问题是如何区分引号里面的空格和引 : 号外面的空格? : 谢谢了 : p.s.好像前面有个类似的问题。 但是似乎最后没有好的解决方法。
| s*******y 发帖数: 558 | 4 搞定了 谢谢
【在 l*******9 的大作中提到】 : very typical problem, use capturing-parenthesis: "([^"]+)" : if there are escaped double quotes, then: "([^\\"]*(?:\\.[^\\"]*)*)" : turn on 'global match', and fetch $1.
|
|