質問: 正規表現について、同じ行のurlの片方だけにアンカーをつけるには こういう行があったとして、 http://hoge2.jp/ http://hoge4.jp/ こういう結果を得たいですが、可能でしょうか
回答: 「URLを、『http://』で始まり、コロンを含まない任意長の文字列とする」 「ただし、行末にあるもののみ置換対象」 と考えて、 s/(http:\/\/[^:]*)$/$1<\/a>/; これでいいですかね。 ※OKWave上では円記号がバックスラッシュに表示されますがそのままコピペして下さい。V のように見えるのは「¥/」と書いた部分です) なおperl上で実験したところ、行末の改行記号までURLに含んでしまったのか少々不自然になったので、直前にchop;を入れるか、 「URLにコロンと改行記号を含まない」として s/(http:\/\/[^:\n]*)$/$1<\/a>/; にするのも良いかもしれません。 (テキストエディタの置換や、sed等では最初の通りで問題ない気がします) 置換したいものが「行末」ではなく「2番目」だったり、httpであったりなかったりするとまた書き方を変えないといけなくなってきますけど...。