正規表現の最近のブログ記事

変換

| コメント(0) | トラックバック(0)
$inputfile="サンプルテキスト.txt";
$outputfile="サンプルテキストout.txt";
open(IN, $inputfile);
@ARY = <IN>;
close(IN);

$myStr = join("", @ARY);
$myStr =~ tr/a-z/A-Z/;	#小文字→大文字
open (OUT,"> $outputfile");#書き込み新規文章で書き込む
print (OUT $myStr);
close(OUT);

exit;

抜き出す

| コメント(0) | トラックバック(0)
""ではさまれた文字をぬきだす。

$inputfile="サンプルテキスト.txt";
$outputfile="サンプルテキストout.txt";
open(IN, $inputfile);
@ARY = <IN>;
close(IN);

#まずは""を含む配列を取り出す。
@ARY2 = grep(/".+"/, @ARY);
#@ARY2 =~ m/(".+")/;#こんな風に一発で取り出せると思うのだが。。。

#つぎに取り出した配列の中から""のテキストだけとりだす。
foreach $buf (@ARY2) {
	$buf  =~ m/"(.+)"/g;
	print $1;
	$wStr.="$1\n";
}

open (OUT,"> $outputfile");#書き込み新規文章で書き込む
print (OUT $wStr);
close(OUT);

exit;

検索置換2

| コメント(0) | トラックバック(0)
$inputfile="サンプルテキスト.txt";
$outputfile="サンプルテキストout.txt";
open(IN, $inputfile);
@ARY = <IN>;
close(IN);

$myStr = join("
", @ARY);
$myStr =~ s/(if)(.+)=(.+)(then)/<font color="red">$1<\/font><b>$2<\/b>=<b>$3<\/b><font color="red">$4<\/font>/;	#小文字→大文字
open (OUT,"> $outputfile");#書き込み新規文章で書き込む
print (OUT $myStr);
close(OUT);

exit;

検索置換1

| コメント(0) | トラックバック(0)
$inputfile="サンプルテキスト.txt";
$outputfile="サンプルテキストout.txt";
open(IN, $inputfile);
@ARY = <IN>;
close(IN);

$myStr = join("
", @ARY);
$myStr =~ s/(if.+then)/<font color="red">$1<\/font>/;	#小文字→大文字
open (OUT,"> $outputfile");#書き込み新規文章で書き込む
print (OUT $myStr);
close(OUT);

exit;

演算子

| コメント(0) | トラックバック(0)

■変換演算子
tr/対象リスト/変換リスト/
$S =~ tr/abc/ABC/; #小文字→大文字
$S =~ tr/a-z/A-Z/; #小文字→大文字

オプション
c 対象リストに含まれないものを変換
d 変換リストに含まれないものを削除
s 連続文字を1文字に変換

= 代入
~ 2の補数(ビットを反転)
=~ 右側を実行して左に代入

■マッチパターン演算子
s/マッチパターン/置換文字列/
$S =~ s/abc/123/; abcを123へ

オプション
e 置換文字列を式とする
g 全部置き換え
i 大文字小文字の区別なし
s 単一行マッチ
m 複数行マッチ
o パターンコンパイル
x 空白を無視 #をコメント処理

■マッチ演算子
m/マッチパターン/ #mは省略可能。
$str =~ m!/!; #このように"/"を検索するようなときは区切り文字を変更できる。ただしmは省略できない。

エントリー一覧

このアーカイブについて

このページには、過去に書かれたブログ記事のうち正規表現カテゴリに属しているものが含まれています。

前のカテゴリは文字列です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

OpenID対応しています OpenIDについて