私はクラスのための正規表現パターンを学ぼうとしています。私は単純なHTMLレクサー/パーサーを作っています。私はこれがLexer/Parserを作るのに最も効果的な方法ではないことを知っていますが、Regexのパターンを理解することだけです。HTMLシンプルテキストの正規表現パターンを作成するには?
私の質問は、文字列にHTMLタグ(つまり<TAG>
)が含まれておらず、HTMLエンティティ(つまり&ENT;
)が含まれていないかどうかを確認するパターンを作成するにはどうすればよいですか?
これは私がこれまでに思い付くことができるものであるが、それはまだ動作しません:
.+?(^(?:&[A-Za-z0-9#]+;)^(?:<.*?>))
EDIT:唯一の問題は、私は私が見つける必要が最終的な結果を否定することはできませんということですそれが可能であればこの仕事を達成する完全なパターンですが、それはかわいらしくないかもしれません。私は言及したことはありませんが、それはHTMLページ内の任意のシンプルテキストにマッチするはずです。
パターンを否定できないのはなぜですか?私はあなたの推論を得ることはありません... –
あなたのHTML文字列をコピーして、次の正規表現パターンを使用してHTMLタグとエンティティを取り除くことができます(何もパターンを置き換えません)。そうすればプレーンテキスト(エンティティは実際の文字に変換されずに消えてしまいますが)になります。 –