正则表达式是匹配报价的时候,我不希望它
问题描述:
这里是演示http://www.regexplanet.com/cookbook/ahJzfnJlZ2V4cGxhbmV0LWhyZHNyDwsSBlJlY2lwZRjrstAmDA/index.html正则表达式是匹配报价的时候,我不希望它
链接选择Java之一,看看输入。您可以在引号或不带引号中提供参数。但是,当正则表达式捕获这些组时,我不希望它捕获括在引号内的参数的引号。这很令人困惑,因为引号不在括号内,所以我不知道它们为什么被捕获。
我该如何解决这个问题?
编辑:
为了澄清,我所要的输出是这样的:
hello-world
hi
this is \"
\\
sparta
答
如果你不想被抓到双引号,那么你需要避免他们使用零不匹配宽度断言 - lookarounds:
(?<=")(?!\s+")(?:[^\\"]+|\\")+(?=")|[^"\s]+
请发表您为例e和预期的输出在这里 – rock321987
Java不支持'branch reset(?|)'(_if支持,这太容易了)..我们可以使用lookbehead和lookahead,但是会有一些额外的数据被选中 – rock321987