6

私はこの正規表現を持っています:[\s\S-[<>]]*

この表現が何を表しているか理解するのを手伝ってくれませんか? 私が見たところ、スペースで形成された文字クラスと、スペース以外の文字から < または > までの範囲を意味しますか?

あまり意味がありません..

ありがとう!

4

1 に答える 1

10

これは、いくつかの正規表現エンジン (.NET、JGSoft、XML スキーマ、および XPath であり、ネイティブ Java 正規表現ではサポートされていません) でのみサポートされているバリアントであり、 character class substraction と呼ばれます。

例えば、

[A-Z-[EFG]]

、またはAZ除くから までの任意の文字に一致します。EFG

しかし、あなたの場合、どの文字にも一致するため、実際にはあまり意味がありません[\s\S]-(正規表現のフレーバーで)同じ結果が

[^<>]*
于 2012-05-24T13:53:13.050 に答える