正则表达式删除链接

时间:2009-05-04 16:57:14

标签: html regex

  

可能重复:
  RegEx match open tags except XHTML self-contained tags

我有一个带

的HTML页面
<a class="development" href="[variable content]">X</a>

[可变内容]在每个地方都不同,其余的是相同的 什么正则表达式将捕获所有这些链接? (虽然我不是在这里写的,但我确实试过......)

5 个答案:

答案 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意味着.也匹配换行符