読者です 読者をやめる 読者になる 読者になる

雑記 - otherwise

最近はDQ10しかやっていないダメ技術者がちまちまと綴る雑記帳

アンカー要素から URI と CONTENT を取り出す正規表現

正規表現

ネタ元は ch3cooh さんのところ
コメントに書いたものは、 2004 年に書いたコードでした。 XML コメントも使ってないし。。。
まぁ、それはいいとして、一応、正規表現部分だけ展開しておきます。

<a\s+(?<!href=).*href="?(?<URI>[\w:!#$%=&\-^`\\|@~\[{\]};+*,.?/]+)"?(?:\s+(?<!href=)[^>]*)?\s*>(?<CONTENT>(?<!</a>).+)</a>

URI と CONTENT のキャプチャの部分は .NET 依存です。(言語によって書き方が違ったり、そもそも名前を付けられなかったりまちまち)
それ以外の部分は、他の言語でも大体そのまま使えるのではないかと。
# ちなみに、酢酸さんのところに提示したコードを改めて .NET 3.5 でテストしてみたところ、同一行に候補が 2 つ以上あった場合に最後の 1 つしか取れないバグがある模様。
# なんでだろう。。。