2009-08-12 13 views
1

HTMLには次のようなリンクが含まれています。アンカーリンクに空白を見つける

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

しかし、それらのいくつかは、アンカーなどにスペースが含まれていますちょうど使用してそれらを見つける必要があります。

アップデート_または -

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

正規表現の種類を上の任意のアイデア私は#の後にスペースを見つけ、それらを置き換えるために使用する必要があると思いますTextMateは、HTML解析用ライブラリが不要です。

答えて

2

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

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

三警告を。

まず、あなたはページのテキスト自体(だけではなくリンクが)、あなたはこのように、正規表現はより制限させることができ、「#hashtag複数の単語」のような情報が含まれているかもしれないと恐れている場合:

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

第2に、AZ以外の文字を含むハッシュタグがある場合は、2つ目の括弧の間にそれらを追加します。あなたが持っているのであれば、「 - 」だけでなく、あなたが変更になります。

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

最後に、これはそう、あなたが手紙/ワードで始まり、空白が続いていると一致するようにしようとしているすべてのリンクと仮定し現在の形では、 "Anchor-tags-galore"には一致しませんが、 "Anchor tags galore"には一致します。ここで

+0

ありがとう、リンクにはAZだけが含まれているので、これらのうちの1つはトリックをするためにバインドされています:) – Tom

2

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

+0

1 - HTMLパーサではなく、正規表現でHTMLを解析します。 – Quentin

+0

ああ、私はTextMate内でそれらをすべて見つける必要があると述べているはずです、私は私の質問を更新しました。 – Tom

1

、この正規表現は、ハッシュと一致するとの間にあるすべての単語とスペース:あなたはいくつかの時間を持っている場合は

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

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

、あなたは「正規表現コーチ」を、ダウンロードしてくださいあなた自身の正規表現を開発する素晴らしいツール。あなたは即座のフィードバックを得て、非常に早く学びます。それは無料です!

Visit the homepage

+0

素晴らしいですが、Mac版がありません:( – Tom

+1

多分あなたはこれを試すことができます:http://www.rustyrazorblade .com/2007/12/02/regex-coach-mac-substitute / –

関連する問題