人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Perl の正規表現についての質問です。
以下のプログラムですが、うまくマッチしてくれません。
(止まってしまいます。)

@dummyには、10種類のいろいろなURLアドレス(EUCコード)
@kiken_urlには、「%」「?」「=」などの半角文字や、「sex.com」などを入れています。(EUCコード)

# URLのチェックを行う
$j = 0;
foreach ( @dummy ){

$aaa = $_;

foreach ( @kiken_url ){

$bbb = $_;

if ( $aaa =~ m/$bbb/ ) {
$dummy[$j] = "DED!!!";
}
}
$j++;
}

どなたか、間違いをしてきしていただけないでしょうか?

●質問者: zachouR
●カテゴリ:コンピュータ インターネット
✍キーワード:AAA Perl SEX アドレス コード
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● b-wind
●35ポイント

たとえば「?」等の文字列の時に、

if ( $aaa =~ m/?/ ) {

と解釈されてしまい、実行できない。


それぞれの文字をエスケープするか、この程度であれば、index 関数にしたほうがいい。

@dummy = qw(http://sex.com/ http://example.com http://example.net/%);
@kiken_url = qw(% ? = sex.com);
 for (my $i=0; $i < @dummy; $i++ ){
 my $aaa = $dummy[$i];
 for ( my $j=0; $j<@kiken_url; $j++ ){
 my $bbb = $kiken_url[$j];
 if ( index($aaa,$bbb) > -1 ) {
 $dummy[$i] = "DED!!!";
 }
 }
}
print "$_\n" for @dummy;

http://q.hatena.ne.jp/answer

◎質問者からの返答

なるほど!!!

ありがとうございます!

非常に助かりました!


2 ● smile2008
●35ポイント

http://www.rfs.jp/sitebuilder/perl/02/09.html

◎質問者からの返答

非常に申し訳ないのですが、どこを参考にすればいいのでしょうか?

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ