- 締切済み
正規表現(置換え)について
置換え前 ***.**.**.** 置換え後 ***/**/**.** 上記のように、一部の『.』を『/』へ置き換え処理をするには どのような正規表現になりますか? 宜しくお願い致します。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- tatsu99
- ベストアンサー率52% (391/751)
回答No.4
#1です。#2,3のかたが既に回答していますので、それで十分ですが、以下のようにします。 2つ以上の.がある時、前から2つの.を/に変えます。 # 先頭から2つ以内の.を/にする $data = '*****.***.***.****.****'; $data =~ s#(\.)(.*?)(\.)#/$2/#; print $data;
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
回答No.3
$data='***.**.**.**'; $data=~s|(.+?)(\.)(.+?)(\.)(.*)|\1/\3/\5|; print $data; とか?
質問者
お礼
候補の一つにします。 ありがとうございました。
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
回答No.2
単純に $data='***.**.**.**'; $data=~s|\.|/|; $data=~s|\.|/|; print $data; ではだめですか
質問者
お礼
候補の一つにします。 ありがとうございました。
- tatsu99
- ベストアンサー率52% (391/751)
回答No.1
>一部の『.』を『/』へ置き換え処理 「一部の『.』」についての定義は何でしょうか。 先頭から2つ以内の『.』でしょうか。 それとも、4桁目、7桁目の『.』でしょうか。 一部の『.』について、もう少し、正確に提示していただけませんでしょうか。
質問者
補足
先頭から2つ以内の『.』という定義でお願いします。
お礼
勉強になりました。 ありがとうございました。