正则表达式匹配字符串

时间:2013-03-29 19:40:29

标签: c# regex

我对正则表达式有一个小而烦人的问题。要解析的输入字符串(C#)如下所示:

( "Lorem ipsum dolor, sit amet" + "Maecenas fermentum commodo leo.", "aaa", 120 )

我希望正则表达式匹配第一个“和之前的第一个逗号之前的字符串”,所以我想找到:

Lorem ipsum dolor, sit amet" + "Maecenas fermentum commodo leo.

到目前为止,我提出了:

\(\s*?\"(.*?)\".*?\)

但结果是:

Lorem ipsum dolor, sit amet

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:1)

你的正则表达式甚至看起来不像是试图匹配任何逗号。

您是否打算在第二次引用之后匹配逗号?

\(\s*?\"(.*?)\",.*?\)

您还应该注意

等输入
( "Lorem ipsum dolor\", sit amet" + "Maecenas fermentum commodo leo.", "aaa", 120 )

像这样的时髦事物只使用正则表达式很难处理。

答案 1 :(得分:0)

您可以尝试将分隔逗号设为可选:

\(\s*\"(.+?)(\",.*|\"\s*)\)