• 締切済み

perlでの"."ドットマッチについて

perlで.(ドット)のマッチについて 教えて貰えないでしょうか? test_01.comにマッチした時に test_01_comに変換 .(ドット)以前の文字は可変です。 testwindows.netとか testtesttesttest.jpとかもあります。 以上宜しくお願いします。

みんなの回答

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.4

全体として何をしたいのかきちんと書いてくれないかなぁ. 質問文に書いてあることから「IP アドレスがど~たらこ~たら」って解釈できないんだよ. あなたが思うほど超能力者は多くないと思ってほしい.

全文を見る
すると、全ての回答が全文表示されます。
  • Gotthold
  • ベストアンサー率47% (396/832)
回答No.3

> IP変換は192.168.0.1を > 192_168_0_1という具合に変換しています。 やってることが全く同じなんだから 全部の "." を一緒に置換しちゃえばいいじゃない。 もしかして、置換したくない "." がまじってたりするの?

全文を見る
すると、全ての回答が全文表示されます。
回答No.2

はぁ?アンスコってなんだよ。 略すなよ。 質問の件ならTacosanの説明で正解だろ。 なんで出来ないのか詳しく説明してもらいたい。 補足要求

unixchan
質問者

補足

今回の処理をIP変換の前で行うので \.ですとIPアドレスにマッチしてしまいます。 IP変換は192.168.0.1を 192_168_0_1という具合に変換しています。

全文を見る
すると、全ての回答が全文表示されます。
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

メタ文字の前に \ をつけるとメタ文字としての意味はなくなり単に「その文字を表す正規表現」となります.

unixchan
質問者

補足

補足ですが、IPをアンスコに変更する正規表現も あるので、\.でのマッチは出来ません。 文字列(可変)にマッチするような正規表現は難しいでしょうか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • perl マッチさせる方法について

    perlでマッチさせたいのですが、なかなかうまくいきません。。 詳細は $joho='これは、テストです。'; $seach='テスト'; if ($joho =~ m/$seach/) { print 'マッチしました。'; } とやっていますが、どうしてもだめです。 if ($joho =~ m/テスト/) { print 'マッチしました。'; } とすれば、マッチするのですが、何がいけないのでしょうか? 環境はperl5.8、EUC-JPです。 初心者な質問かもしれませんが、よろしくお願いします。

  • 「?」が含まれるマッチについて

    perlの文字マッチについて「?」が含まれる場合のマッチさせる方法について教えていただきたいです。 例) $hoge="papa?no=1,mama?no=2,cat=?no=3"; $hogehoge="cat=?no=3"; $hoge =~ m/$hogehoge/i; 上記の場合、文字内に「?」がある為にマッチしません。メタ文字として判断されているのでしょうか…。 この場合、マッチさせるにはどのような方法がありますでしょうか。 一度、「?」を違う文字に変換すれば出来るのではないかと思いますが、そのままの形でのマッチを求めています。 どうかよろしくお願いいたします。

    • ベストアンサー
    • Perl
  • perl 5.8.8 日本語マッチ

    perl5.8.8を使っています。 日本語にマッチする正規表現を書きたいのですが、どうしてもマッチしません。 例えば、以下のファイルtest.txtから「さしすせそ」だけを抽出し、表示させたいです。 ---------test.txt-------------------------------- あいうえお かきくけこ さしすせそ たちつてと -------------------------------------------------- ----------test.pl-------------------------------- use strict; use warnings; open(FILE, 'test.txt') or die "$!"; my @file = <FILE>; close(FILE); foreach my $line (@file){ if($line =~ /^さ/){ print "$line\n"; } } ------------------------------------------------ このtest.plを実行しても「さしすせそ」を抽出することが できません。 どうしたらよいのでしょうか? 自宅の新しいバージョンのperlだとできるのですが 会社のperlは5.8.8で顧客環境でもあるのでバージョンアップも できません。 すみませんが、よろしくお願いいたします。

    • ベストアンサー
    • Perl
  • perl でこのマッチは失敗しますか?

    perl でこのマッチは失敗しますか? my $one = "FEFRGrgarGEEeg+05fweaEFJIEI+A"; my $str = "FEFRGrgarGEEeg+05fweaEFJIEI+A"; if($str =~ m/$one/){ print "same"; }else{ print "difference"; } exit; 5時間ほど悩んでそれらしいところを見つけたのですが、この部分で失敗しているようでした。 「+」記号がある為だと思うのですが、何故、このようなことになるのでしょうか? このように、失敗するような避けるべき文字ありますか? また、+記号などがあっても正しくマッチを使う方法はありますでしょうか?

    • ベストアンサー
    • Perl
  • / [ 【 の文字をマッチさせるには?

    / [ 【 の文字をマッチさせるには? 環境 perl version 5.005_03 while($line = <IN>){ if($line =~ ///){ (マッチした場合の処理) } } などとしたいのですが、/ [ 【 の文字にマッチさせるには どのように記述したらいいのでしょうか? 上記のように普通に指定するとマッチしませんでした。 よろしくお願いします。

  • Perl5.8について詳しく書かれている書籍

    最近Perl5.8にし、文字コードをUTF8をベースに使うようになりました。 以前は、5.6を使っていたので、文字コードについては、あまり意識せず、 出力時のみ気を使っていました。Perl5.8からPerlIOというものがあり、 いまいち理解しづらいのですが、PerlIOについて詳しく書かれている書籍(5.8以上に特化) を探しているのですが、お薦めがございました ら是非お教えください。 最悪、洋書でも構いません。 IO::Fileを使って、入力文字コードは euc-jpで、出力文字コードはシフトJISにする 設定方法がしりたいです。

    • ベストアンサー
    • Perl
  • ドット文字について

    ドットで文字(英語・数字・記号)を描きたいのですが、ネット上に見本のようなものはないでしょうか?7×5ぐらいの大きさで描けるものを探しているのですが・・・。(縦は7以内で、横は5以上でも構いません) あと、★のマークをドットで描こうと思うと、7×5じゃ無理でしょうか? アドバイスお願いします。

  • 文章→ドット絵

    入力した文字、文章をドット絵に変換できるフリーソフトはありませんか? ドット絵を描くように、ちまちまと文字を作りたいのですが、簡単にできるものはないものかと…(^_^;) 検索はしましたが、見つかりませんでした。 良いソフトがありましたら、紹介をよろしくお願いしますm(_ _)m

  • perlの正規表現 (ワンライナー)

    以下のような文字列から2つの要素だけ抽出するようなperl/rubyのスクリプトはどのように書いたらいいでしょうか? できればワンライナーで実現したいです(が、ワンライナーとしてはちょっと複雑なのでしょうか。。。) 元の文字列 -test t001 +opt0=1024 -N n_paramX -seed 1 -test t002 +opt0=1024 -opt1=2486 -N n_paramY -test t003 +opt3=1234 -N n_paramZ ... 整形後の文字列 t001 n_paramX t002 n_paramY t003 n_praramZ ※ 各行に -test と -N が必ず存在していることは仮定してOKです スクリプトで記述した場合: while(<>) { /\-test (\S+)/; $match00 = $1; /\-N (\S+)/; $match01 = $1; print "$match00 $match01\n"; } よろしくお願いします

  • トリガー内でperlモジュールを呼び出したい!

    mysql5.0.27で、テーブルにinsertしたデータ(文字列)をperlモジュールで変換し、変換後の文字列を別のテーブルにinsertしたいのですが、方法がわかりません。 perlを使いたいのは、すでにモジュールがあるということと、他の言語では文字列変換が面倒という理由です。 perlが呼び出せないのなら、Cとかで作り直してもいいのですが、まずはperlの呼び出し方を教えてください。それができなければ、Cでも構いません。 できそう/できないだけでもご存知でしたら教えてください。

このQ&Aのポイント
  • ノートパソコンとデスクトップのブルーライト低減モードの設定方法を解説します。
  • ブルーライト低減モードは、目の疲れや睡眠の質を改善するために有効です。
  • ブルーライト低減モードの設定方法は、パソコンのディスプレイ設定から簡単に変更できます。
回答を見る