• 締切済み

正規表現の使い方

$input =~ s/[a-z][0-9]-[0-9]/ [a-z][0-9]-[0-9] /g; perl言語での正規表現についてです。 置換に関してなのですが、このような使い方はできないでしょうか?? [a-z][0-9]-[0-9]にヒットしたものの前と後ろにスペースを代入したいのですが、何かいいプログラミングはないでしょうか?

みんなの回答

回答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

sy1212
質問者

お礼

返信が遅れてしまい申し訳ありませんでした。 問題解決できました! 回答頂き、ありがとうございました!

noname#108740
noname#108740
回答No.2

$input =~ s/[a-z][0-9]-[0-9]/ $& /g;

sy1212
質問者

お礼

回答ありがとうございます! 問題を解決することができました! 誠にありがとうございます!

  • MOMON12345
  • ベストアンサー率32% (1125/3490)
回答No.1

$input =~ /([a-z][0-9]-[0-9])/; $output = " $1 "; ($1の前後にスペース) これでどうでしょう?

sy1212
質問者

お礼

解答ありがとうございます!! 質問が悪くて申し訳ありません! ヒットした文字列の前後にスペースをいれて抽出したいのではなく、適当な文字列(例えば、hiada1-6fihoaidu5-6…)中の[a-z][0-9]-[0-9](この場合a1-6とu5-6)の前後にスペースをいれた形で出力したいんですが… 頭悪くてすいません!!

関連するQ&A

専門家に質問してみよう