有限会社ミスティーネットPerl・CGI講座 パール・CGIレッスン MISTY-NETレンタルサーバー・PERLプログラミング講座 CGI&PERL究極のレシピ

管理運営:有限会社ミスティーネット

| HOME | ご利用について | 推奨環境 | リンクに関して | 免責/規約 | お問合せ | ミスティーネット | リンク集 |
Perl言語リファレンス

ミスティーネットPerl・CGI講座/基本編
ミスティーネットPerl・CGI講座/基本編
始めに 始めに
変数について 変数について
処理の制御1 処理の制御1
処理の制御2 処理の制御2
配列の処理 配列の処理
ハッシュの処理 ハッシュの処理
数値の扱い 数値の扱い
文字の扱い 文字の扱い
時間の処理 時間の処理
サブルーチン サブルーチン
ファイルの処理 ファイルの処理
ディレクトリの処理 ディレクトリ処理
CGIについて CGIについて
漢字の処理 漢字の処理
    (文字コード)
Cookie の処理 Cookie の処理
正規表現1 正規表現1
正規表現2 正規表現2
演算子について 演算子について
ライブラリ ライブラリ
デバッグ デバック
環境変数について 環境変数
ミスティーネットPerl・CGI講座/基本編

ミスティーネットPerl・CGI講座/応用編
ミスティーネットPerl・CGI講座/応用編
カウンターを作ってみよう カウンターを
     作ってみよう!
ミニゲームを作ってみよう ミニゲームを
     作ってみよう!
ミスティーネットPerl・CGI講座/応用編

ミスティーネットPerl・CGI講座/WEB講座一覧
ミスティーネット
HTML講座 HTML講座
スタイルシート講座 スタイルシート講座
JavaScript講座 JavaScript講座
UNIXコマンド講座 UNIXコマンド講座

ミスティーネット
ラブラブメールでツーショット

人気サイトランキング

人気サイトランキング

8daysランキング

  HOME >> 正規表現2
  1. 文字列の置換を行なう
  2. 文字の変換や削除
■ 文字列の置換を行なう
正規表現の s/// 構文を使うと文字列の置換を行なうことが出来ます。
s/// 構文でも、m// 構文と同じように、修飾子を使って正規表現の設定を行なうことが出来ます。

   → 修飾子について
[書式] 検索対象の文字列 =~ s/検索文字/置き換える文字列/(修飾子);
# 「DEF」 を「ABC」に置換する場合

$charactor = "ABCDEFABCDEF";    ← 検索対象の文字列をセット
$charactor =~ s/DEF/ABC/g ; ← 文字列の変換
print "$charactor\n";
表示では、「ABCABCABCABC」と表示されます。
ここでは、修飾子「g」を設定して、マッチするすべての文字を置換しています。
修飾子「g」を設定しない場合は、最初にマッチした文字列のみ置換される為、
表示が「ABCABCABCDEF」となります。


[前後のスペースを削除する]
$str =~ s/^s+//g ; ← 文頭に来るスペースを削除
$str =~ s/s+$//g ; ← 文末に来るスペースを削除
空の文字列に変換することで削除しています。

[HTMLタグを無効化する(チャットや掲示板などで利用)]
$html =~ s/</&lt;/g ; ← 開始タグを無効化
$html =~ s/>/&gt;/g ; ← 終了タグを無効化
タグをHTMLの特殊文字に変換することで無効化しています。



■ 文字の変換や削除
文字の変換には tr/// 構文を使うことも出来ます。
この構文では、変換対象の文字のリストと変換後の文字のリストを作成して、 そのリストに照らし合わせて変換を行ないます。
tr/// 構文でも、修飾子を使って正規表現の設定を行なうことが出来ます。
tr/// での修飾子は、

   → 修飾子について
[書式] 検索対象の文字列 =~ tr/変換元の文字リスト/変換後の文字リスト/(修飾子);

例えば、数字の1〜9までをアルファベットのA〜Iに変換する場合は
     「 $str =~ tr/123456789/ABCDEFGHI/g; 」となります。

$str =~ tr/1-9/A-I/g; 」のように範囲演算子を使うことも出来ます。

[大文字を小文字に変換する]
$str =~ tr/A-Z/a-z/g;


[連続した同じ文字を1文字に圧縮する]
$str = 'goood';
$str =~ tr/A-Za-z//gs;
変数 $str は「god」に圧縮されます。

[英数字以外を除去]
$str =~ tr/0-9A-Za-z//g;





← 前のページへ戻る 次のページへ →


| HOME | ご利用について | 推奨環境 | リンクに関して | 免責/規約 | お問い合わせ | ミスティーネット |
(C)Copyright 2002 有限会社ミスティーネット Inc. All Right Reserved.