正则表达式匹配可选的带引号的字符串

时间:2017-09-21 19:53:11

标签: c# regex

我正在尝试匹配表单的可选引用字符串,奇数引号是无效字符串。

"the quick brown fox" abc def匹配the quick brown fox

the quick brown fox abc def

返回整个字符串

我发现这非常接近 matching optional quotes

所以我厌倦了以下^(")?(.*)(?(1)\1|)

然后无效的报价变得有效,这是不好的。

修改

如果输入字符串以“然后找到结束引号并在引号中返回字符串。如果引号不匹配则不返回任何内容。如果字符串不以”开头“,则返回整个字符串。

我觉得这很接近......

^(")?([^"]+)(?(1)\1|$)

感谢各种评论 - 这就是我正在寻找的

^(")?([^"]+\w)(?(1)\1|$)

1 个答案:

答案 0 :(得分:1)

"(?:"|.)*?"|^[^"]*$

第一部分仅捕获引用的文本,第二部分捕获没有引号的entieres行。

希望它会对你有所帮助。