在锚链接中查找空格

时间:2009-08-12 14:31:18

标签: html regex anchor hyperlink

我们有大量的静态HTML,例如HTML链接。

<a href="link.html#glossary">Link</a>

然而,其中一些在锚中包含空格,例如

 <a href="link.html#this is the glossary">Link</a>

关于在#之后找到空格需要用什么样的正则表达式的任何想法,并用 - 或_

替换它们

更新:只需要使用TextMate找到它们,因此不需要HTML解析库。

3 个答案:

答案 0 :(得分:2)

您是否考虑使用像BeautifulSoup这样的HTML解析库?这将使查找所有href更容易!

答案 1 :(得分:2)

这个正则表达式应该这样做:

#[a-zA-Z]+\s+[a-zA-Z\s]+

三个警告。

首先,如果您担心页面文本本身(而不仅仅是链接)可能包含“#hashtag more words”等信息,那么您可以使正则表达式更具限制性,如下所示:

#[a-zA-Z]+\s+[a-zA-Z\s]+\">

其次,如果您的哈希标签包含超出A-Z的字符,则只需将它们添加到第二组括号中。所以,如果你也有' - ',你会修改为:

#[a-zA-Z]+\s+[a-zA-Z-\s]+\">

最后,假设您尝试匹配的所有链接都以字母/单词开头,后面跟一个空格,因此,在当前表单中,它与“Anchor-tags-galore”不匹配,但是匹配“Anchor tags galore。”

答案 2 :(得分:1)

这里,这个正则表达式匹配哈希以及中间的所有单词和空格:

#(\w+\s)+\w+

http://dl.getdropbox.com/u/5912/Jing/2009-08-12_1651.png

如果你有时间,你应该下载“The Regex Coach”,这是一个开发自己的正则表达式的绝佳工具。您可以获得即时反馈,并且学得非常快。另外它是免费的!

Visit the homepage