我正在尋找一個簡單的正則表達式(我認爲),這將返回所有沒有「名稱」屬性的HTML標籤,但我弱的正則表達式技能不會幫助我許多。正則表達式「不包含屬性」在html
找一個html標籤不是問題,但是「不包含」是。我根本不知道(當然,我沒有,但沒有一個能工作)。
任何線索?
我正在尋找一個簡單的正則表達式(我認爲),這將返回所有沒有「名稱」屬性的HTML標籤,但我弱的正則表達式技能不會幫助我許多。正則表達式「不包含屬性」在html
找一個html標籤不是問題,但是「不包含」是。我根本不知道(當然,我沒有,但沒有一個能工作)。
任何線索?
首先,你不應該爲這個任務使用正則表達式。一個HTML解析器肯定存在於你正在使用的任何語言中,並且更適合於此。
現在,如果您需要使用正則表達式出於任何原因,如果您的實現支持它,則可以使用negative lookahead。表達
<\w+(?![^>]*\bname\b)
<\w+
通過標識一個開口HTML標籤和匹配這僅在字符串「name」(由word boundaries封閉)不下一右括號之前出現。
看到它與RegExr行動。
這隻適用於行爲良好的HTML,並將其擴展爲尊重帶引號的字符串,javascript或註釋將不可能或非常非常難看。我提到了HTML解析器嗎? =)
不要使用正則表達式!什麼是上下文(環境,語言)?您可以使用XPath或DOM API來查找這些元素。 –