30

TDタグを貪欲に解析しようとしています。私はこのようなものから始めています:

<TD>stuff<TD align="right">More stuff<TD align="right>Other stuff<TD>things<TD>more things

以下を正規表現として使用しています。

Regex.Split(tempS, @"\<TD[.\s]*?\>");

レコードは次のように返されます。

""
"stuff<TD align="right">More stuff<TD align="right>Other stuff"
"things"
"more things"

最初の完全な結果 (「もの」で始まるもの) を分割しないのはなぜですか? パラメータの有無にかかわらず、TD タグのすべてのインスタンスで分割するように正規表現を調整するにはどうすればよいですか?

4

3 に答える 3

50

貪欲でないマッチについては、これを試してください<TD.*?>

于 2012-12-12T16:47:06.487 に答える
16

必要な正規表現は次の<TD[^>]*>とおりです。

<     # Match opening tag
TD    # Followed by TD
[^>]* # Followed by anything not a > (zero or more)
>     # Closing tag

注:(.空白を含む)すべてに一致するため、リテラル[.\s]*?に一致するため冗長で間違っているため、.[.]..*?

于 2012-12-12T16:36:40.650 に答える