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

あなたの正規表現は、コンマに一致しようとしているようにも見えません。

その 2 番目の引用符の後にコンマを一致させるつもりだったのでしょうか。

\(\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 に答える