1

特定のタイプの HTML のようなブラケット タグに一致する正規表現を作成しようとしています。この式は、タグが HTML コメント内にある場合もタグと一致する必要があり、グループ 1 はタグ間のコンテンツと一致します。

明確にするために、式は両方に一致する必要があります

[section]Blah blah blah[/section]

<!-- [section] -->Blah blah blah<!-- [/section] -->

これが私がこれまでに持っているものです:

"(?:<!--\s*)?\[section](?:\s*-->)?(.*)(?:<!--\s*)?\[/section](?:\s*-->)?"

問題は、グループ 1 ( (.*)) に次のコメント ( ) の潜在的な開始点が含まれていることです<!--\s*?2 番目の後に from を削除すると、(?:<!--\s*)グループ 1 はそれを除外する必要がありますが、式は HTML コメント構文なしではタグと一致できません。

そこにコメントの開始がない可能性を維持しながら、グループ1に2番目のコメントの開始がある場合はそれを除外するにはどうすればよいですか?

4

1 に答える 1

2

?の後にa を追加する.*と、「怠惰」になり、余分な終了タグと一致しなくなります。

(?:<!--\s*)?\[section](?:\s*-->)?(.*?)(?:<!--\s*)?\[/section](?:\s*-->)?
于 2013-11-14T01:17:10.677 に答える