👀

同じタグの入れ子を検出したいとき

2022/08/03に公開

タグの入れ子がされているものをチェックしたい時がありました。
色々やった結果、以下で行けそうなことがわかった。

<タグ名(\s+[^>]*)?>(?:(?!</タグ名>)[\s\S\n])*?<タグ名(\s+[^>]*)?>(?!.*</タグ名>)

実は色々調べながらやったので、どうしてこれで検出できるのかイマイチわかってないという。。。
ただ(?:(?!</タグ名>)[\s\S\n])でグループ化をしているのがミソかなと思います。

Discussion