- 締切済み
正規表現の使い方
$input =~ s/[a-z][0-9]-[0-9]/ [a-z][0-9]-[0-9] /g; perl言語での正規表現についてです。 置換に関してなのですが、このような使い方はできないでしょうか?? [a-z][0-9]-[0-9]にヒットしたものの前と後ろにスペースを代入したいのですが、何かいいプログラミングはないでしょうか?
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- buffalomasa
- ベストアンサー率66% (70/106)
回答No.3
#usr/bin/perl my $foo = 'hiada1-6fihoaidu5-6'; $foo =~ s/([a-z]\d-\d)/ $1 /g; print $foo; #-> hiad a1-6 fihoaid u5-6
noname#108740
回答No.2
$input =~ s/[a-z][0-9]-[0-9]/ $& /g;
質問者
お礼
回答ありがとうございます! 問題を解決することができました! 誠にありがとうございます!
- MOMON12345
- ベストアンサー率32% (1125/3490)
回答No.1
$input =~ /([a-z][0-9]-[0-9])/; $output = " $1 "; ($1の前後にスペース) これでどうでしょう?
質問者
お礼
解答ありがとうございます!! 質問が悪くて申し訳ありません! ヒットした文字列の前後にスペースをいれて抽出したいのではなく、適当な文字列(例えば、hiada1-6fihoaidu5-6…)中の[a-z][0-9]-[0-9](この場合a1-6とu5-6)の前後にスペースをいれた形で出力したいんですが… 頭悪くてすいません!!
お礼
返信が遅れてしまい申し訳ありませんでした。 問題解決できました! 回答頂き、ありがとうございました!