1

HTMLに次のようなリンクがある静的なものが大量にあります。

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

ただし、それらの一部にはアンカーにスペースが含まれています。

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

#の後のスペースを見つけて-または_に置き換えるために、どのような正規表現を使用する必要があるかについてのアイデア

更新: TextMateを使用してそれらを見つける必要があるだけなので、HTML解析ライブラリは必要ありません。

4

3 に答える 3

2

BeautifulSoupのようなHTML解析ライブラリの使用を検討しましたか?これにより、すべてのhrefを簡単に見つけることができます。

于 2009-08-12T14:35:19.943 に答える
2

この正規表現はそれを行う必要があります:

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

3つの警告。

まず、ページのテキスト自体(リンクだけでなく)に「#hashtagmore words」などの情報が含まれている可能性がある場合は、次のように正規表現をより制限的にすることができます。

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

次に、AZ以外の文字を含むハッシュタグがある場合は、2番目の角かっこのセットの間にそれらを追加するだけです。したがって、「-」もある場合は、次のように変更します。

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

最後に、これは、一致させようとしているすべてのリンクが文字/単語で始まり、その後にスペースが続くことを前提としているため、現在の形式では、「Anchor-tags-galore」とは一致しませんが、「Anchor」と一致します。たくさんのタグ。」

于 2009-08-12T14:43:10.973 に答える
1

ここで、この正規表現はハッシュとその間のすべての単語とスペースに一致します。

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

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

時間があれば、独自の正規表現を開発するための優れたツールである「TheRegexCoach」をダウンロードする必要があります。あなたは即座にフィードバックを得て、あなたは非常に速く学びます。さらに、無料で提供されます。

ホームページにアクセス

于 2009-08-12T14:52:36.357 に答える