我们有大量的静态HTML,例如HTML链接。
<a href="link.html#glossary">Link</a>
然而,其中一些在锚中包含空格,例如
<a href="link.html#this is the glossary">Link</a>
关于在#之后找到空格需要用什么样的正则表达式的任何想法,并用 - 或_
替换它们更新:只需要使用TextMate找到它们,因此不需要HTML解析库。
答案 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”,这是一个开发自己的正则表达式的绝佳工具。您可以获得即时反馈,并且学得非常快。另外它是免费的!