当我不想要时,正则表达式匹配引号

时间:2016-08-24 05:57:21

标签: regex

以下是演示http://www.regexplanet.com/cookbook/ahJzfnJlZ2V4cGxhbmV0LWhyZHNyDwsSBlJlY2lwZRjrstAmDA/index.html

的链接

选择Java,然后查看输入。您可以在引号内或不在引号内提供参数。但是,当正则表达式捕获组时,我不希望它捕获引号中包含的参数的引号。令人困惑的是因为引号不在括号内,所以我不知道为什么它们会被捕获。

我该如何解决这个问题?

编辑:

为了澄清,我希望输出看起来像这样:

hello-world
hi
 this is \"
\\
sparta

1 个答案:

答案 0 :(得分:0)

如果你不想捕获双引号,那么你需要避免使用零宽度断言来匹配它们 - 看起来:

(?<=")(?!\s+")(?:[^\\"]+|\\")+(?=")|[^"\s]+

Live demo