dyno2316 ロヒミフ perl VBA Excel 秀丸

正規表現の検索・置換

# 「販売価格:¥1,234円」から「1234」を取り出す
if (/¥p{Han}+:¥¥([0-9,]+)/) {
print "価格=".$1."¥n";
}
$wk = $1;
$wk =‾ s/¥,//g;


# 変数( $passwd )の中にある複数の特定記号( @,",¥,$ )の頭に ¥ を付加
s/P/R/gでは、パターンPが見つからなければ置換をしません
$passwd =‾ s/([¥@¥¥¥"¥$])/¥¥$1/g;

# 置換の際に eオプションで置換結果を式として表示
my $a = 100;
my $str = '$a*0.5';
$str =‾ s/(.*?)¥*(.*)/eval($1)*$2/e; # 置換結果を式として評価
print $1,"¥n"; # $a
print eval($1),"¥n"; # 100
print $2,"¥n"; # 0.5
print $str; # 50

# 見やすい正規表現
/x ホワイトスペースを無視するオプション
// を使わずに {} でくくるとわかりやすい

先頭、末尾のホワイトスペースを削除
$text =‾ s{^¥s* | ¥s*$}{}g;

$test =‾ m{^ # Comment
¥¥d¥¥d¥¥d # comment2
}x;