可能重复:
RegEx match open tags except XHTML self-contained tags
我有一个带
的HTML页面<a class="development" href="[variable content]">X</a>
[可变内容]在每个地方都不同,其余的是相同的 什么正则表达式将捕获所有这些链接? (虽然我不是在这里写的,但我确实试过......)
答案 0 :(得分:4)
试试这个正则表达式:
<a class="development" href="[^"]*">X</a>
答案 1 :(得分:4)
非贪婪版本怎么样:
<a class="development" href="(.*?)">X</a>
答案 2 :(得分:4)
正则表达式在解析HTML方面根本不好(请参阅Can you provide some examples of why it is hard to parse XML and HTML with a regex?了解原因)。你需要的是一个HTML解析器。有关使用各种解析器的示例,请参阅Can you provide an example of parsing HTML with your favorite parser?。
答案 3 :(得分:1)
正则表达式通常是HTML解析的一个糟糕的解决方案,每次提出这样的问题时都会讨论这个问题。例如,元素可以换行到另一行,或者
<a class="development"
href="[variable content]">X</a>
或
<a class="development" href="[variable content]">X
</a>
你想要达到什么目的?
使用JQuery可以禁用链接:
$("a.development").onclick = function() { return false; }
或
$("a.development").attr("href", "#");
答案 4 :(得分:1)
这是一个允许将各种邪恶放入href
属性的版本。
/<a class="development" href=(?:"[^"]*"|'[^']*'|[^\s<>]+)>.*?<\/a>/m
我也假设X
将是变量,所以我在那里添加了一个非贪婪的匹配来处理它,而/m
意味着.
也匹配换行符