Redian新闻
>
regular expression的一个问题
avatar
regular expression的一个问题# Programming - 葵花宝典
s*y
1
如何在java里面用regular expression parse下面的string:
{"hello", "hello world", "1hello-2*hello"}
要求结果是把引号里面的词组提取出来:
hello
hello world
1hello-2*hello
我试了[^{},"]+ 和 [^{},"\s+]+ 没有成功。 问题是如何区分引号里面的空格和引
号外面的空格?
谢谢了
p.s.好像前面有个类似的问题。 但是似乎最后没有好的解决方法。
avatar
l*9
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.好像前面有个类似的问题。 但是似乎最后没有好的解决方法。

avatar
t*g
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.好像前面有个类似的问题。 但是似乎最后没有好的解决方法。

avatar
s*y
4
搞定了 谢谢

【在 l*******9 的大作中提到】
: very typical problem, use capturing-parenthesis:  "([^"]+)"
: if there are escaped double quotes, then: "([^\\"]*(?:\\.[^\\"]*)*)"
: turn on 'global match', and fetch $1.

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。