正则表达式匹配

时间:2011-01-17 23:17:03

标签: asp.net html regex

我想匹配所有

<a href="mailto:abc@abc.com">bla bla bla</a>

我还有另一个将附加

的过滤器
<a rel="email" href="mailto:abc@abc.com">bla bla bla</a>

所以我正在寻找使用replace函数找到的正则表达式。

3 个答案:

答案 0 :(得分:3)

请改用html解析器。您尚未指定语言,但这是使用Python中的BeautifulSoup进行的演示:

>>> from BeautifulSoup import BeautifulSoup
>>> soup = BeautifulSoup('<a href="mailto:abc@abc.com">bla bla bla</a>')
>>> for a in soup.findAll('a'):
...     a['rel'] = 'email'
... 
>>> soup.prettify()
'<a href="mailto:abc@abc.com" rel="email">\n bla bla bla\n</a>'

答案 1 :(得分:0)

你可以看看这里: http://reflexxion.de/2010/11/e-mail-adresse-gueltig/

/^([a-zA-Z0-9\.\_\-]+)@([a-zA-Z0-9\.\-]+\.[A-Za-z]{2,4})$/

答案 2 :(得分:0)

看这里:http://msdn.microsoft.com/en-us/library/ms972966.aspx#regexnet_topic13 ..所以只做

input = Regex.Replace(input, "<a href=\"mailto:(?<mailaddress>[^\"]*)\">(?<linktext>[^<]*)</a>", "<a rel=\"email\" href=\"mailto:${mailaddress}\">${linktext}</a>"); 

或沿着这些方向......