4

私は正規表現に非常に慣れていません。長い間、10 フィートのポールに触れないようにしていました。そして、今までそれを避けるために最善を尽くしてきました。しかし今、個人的なプロジェクトが私にそれを学ぶように促しています。

それで始めました。そして、ここにあるチュートリアルを進めています: http://www.regular-expressions.info/tutorial.html

現在私はここにいます: http://www.regular-expressions.info/repeat.html

私の質問は:

チュートリアルでは<[A-Za-z][A-Za-z0-9]*>、HTML タグに一致すると言われています。

<h11>しかし、 -またはのような無効な html タグにも一致しませんか<h111>? また、終了タグとどのように一致しますか?

編集 - 私の質問は非常に具体的です。繰り返しに関する私の理解が正しいかどうかを明確にするために、ある特定のチュートリアルの特定の例を参照しています。繰り返しますが、正規表現を使用した html の解析については気にしません。

4

2 に答える 2

6

あなたがどのように正規表現を学ぼうとしているのかを見て、あなたの質問に答えても害はないと思います:

1) はい、無効なタグにも一致します。これは、任意の文字の後に別の文字または数字が 0 個以上一致するためです。

2) 終了タグと一致しません (そこの/どこかを検索する必要があります)。

もう 1 つコメント: ドキュメント内の html タグを探すために人々が使用していた方法の 1 つは、次のように開き括弧と閉じ括弧のパターンを探すことでした。

<\/?[^>]*>

それは開き括弧、オプションのスラッシュ (閉じ括弧以外のもの) の繰り返し、そして閉じ括弧です。もちろん、私は誰にでもこれを勧めているわけではありません。演習としてここに残しておきます。

于 2013-10-13T15:21:11.033 に答える
0

チュートリアルでは、 <[A-Za-z][A-Za-z0-9]*> は HTML タグに一致すると述べています。

しかし、 - または のような無効な html タグにも一致しませんか? また、終了タグとどのように一致しますか?

<h11>はい、それはと同様に一致します<X098wdfhfdshs98fhj2hsdljhkvjnvo9sudvsodfih23234osdfs>

文字の後にオプションの 1 桁の数字が続く場合は、一致するので、次の<h1>ようになります。<[A-Za-z][0-9]?>

于 2013-10-13T15:29:30.043 に答える