• ベストアンサー

< と > で囲まれた文字の取り出し

例えば、$str = "abcdefg<hijklmn>" というような文字列を $str = "hijklmn" というような文字列に変更するにはどのような 正規表現を書けばよいでしょうか? お知恵をおかしください。お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.1

http://oshiete1.goo.ne.jp/kotaeru.php3?q=1001589 を応用すればいいのでは。 $str =~ s/<(.*)>//; $str = $1; みたいに。

参考URL:
http://oshiete1.goo.ne.jp/kotaeru.php3?q=1001589
ciao224
質問者

お礼

参考URLを応用した結果 ($a,$b)=split(/</,$str); $b =~ s/>//g; こんな力技のようなものしか思い浮かばなくて 質問させていただきました。 $1というものを知りませんでした。勉強になりました。 ありがとうございました。

その他の回答 (2)

  • sisya
  • ベストアンサー率39% (97/244)
回答No.3

上の条件に限って言えば $str =~ s/^[^<]*<([^>]*>.*$/$1/; といったところでしょうか? 取り出したい文字列が半角英数にかぎるのでしたら、 No2の方の回答でよいかと思います。

ciao224
質問者

お礼

無事解決できました。どうもありがとうございました。

  • yatokesa
  • ベストアンサー率40% (201/496)
回答No.2

$str =~ s/\w*<(\w+)>.*/\1/g; 条件付けが曖昧ですが、とりあえずこれで変換できます。

ciao224
質問者

お礼

ご回答ありがとうございました。 問題は無事解決できました。

関連するQ&A

専門家に質問してみよう