0

質問1:

例えば、

     ... "ab'cd" ...'ab"cd'..。

それぞれ取得する必要がab'cdありab"cdます。引用符で囲まれた文字列が多数ある場合があります。


質問2:

そして、次の文字列から抽出する方法はtext <td>...</td> text

<abc>text <td>...</td> text</abc>
<xyz>text <td>...</td> text</xyz>
<def>text <td>...</td> text</def>

abc、def、xyzはにネストできます<td>

4

4 に答える 4

2

正規表現:

(?:"(?<text>[^"]*)")|(?:'(?<text>[^']*)')

およびスニペット全体:

Regex regex = new Regex(
@"(?:""(?<text>[^""]*)"")|(?:'(?<text>[^']*)')",
RegexOptions.None
);

私のブログでテスト可能(Silverlightが必要)

于 2012-07-06T20:32:01.827 に答える
1

これは2-in-1の質問のようですよね?

1に対する私の答えは

((.*)['"](.*))

次に#2の場合

<(abc|xyz|def)>(.*)<\/(abc|xyz|def)>

abc | xyz | def<-このように想像してください

結果を使用する前に、スペースをトリミングすることを忘れないでください

于 2012-07-06T20:35:53.610 に答える
0

最初の質問の使用:

("(?<content>[^"]*)")|('(?<content>[^']*)')

2番目の質問の場合:

>(?<content>\w*\s*<td>.*</td>[\w\s]*)<

両方のコンテンツという名前のグループを取得します。

于 2012-07-07T10:01:15.183 に答える
0

私はそれを理解しました-バックリファレンスを使用して。

(["'])(?<q>.+?)\1
于 2012-07-12T05:01:47.193 に答える