正規表現を "anything"とマッチさせることができましたが、特定のトークンと一致するようにしようとしましたが、私はこの答え(Match everything except for specified strings)に従っていましたが、 ...正規表現以外のものと一致する正規表現
ここで問題が
(?!.*(</a>))*
にあなたが2個のエラーを持っているということである例
text = '<a> whatever href="obviously_a_must_have" whatever <div> this div should be accepted </div> ... </a>'
regex = r'<a[^><]*href=\"[^\"]+\"(?!.*(</a>))*</a>' #(not working as intended)
[^><]* #- should accept any number of characters except <and>, meaning it shouldn't close the tag nor open a new one - *working*;
href=\"[^\"]+\" #- should match an href - *working*;
(?!.*(</a>))* #- should match anything but the end of the tag a - *NOT WORKING*.
何が問題なのですか? [正規表現はhtmlを解析するための適切なツールではありません。](https://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 ) –
ちょっとそこに@HåkenkenLid、正規表現の3番目の部分が意図したとおりに動作していません。そして、心配しないで!私は正当な方法のhtmlを解析している;)しかし、私はタグのすべての種類、ちょうど特定のものが欲しいわけではないので、まだこの正規表現を特定の基準に一致するために使用する必要があります。これは単なる例です! –
'(?!)'ネガティブルックアヘッドグループの直後に '*'量子を置くことはできません。グループは数値化できません。オンラインエディタでコードを試してみるとすぐに分かります(https:// regex101。com/r/qAlpvE/1)。その '*'量子で何をしようとしているのか100%確信していませんか? –