0

我对正则表达式有一个小而烦人的问题。要解析的输入字符串 (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

任何帮助将不胜感激!

4

2 回答 2

1

您的正则表达式甚至看起来都没有尝试匹配任何逗号。

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

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

您还应该小心输入,例如

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

因为只使用正则表达式很难处理这样的时髦的事情。

于 2013-03-29T19:42:36.310 回答
0

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

\(\s*\"(.+?)(\",.*|\"\s*)\)
于 2013-03-29T22:11:34.227 回答