正規表現道場@2ch Part3 s/煽り|荒らし/あぼーん/g
■ このスレッドは過去ログ倉庫に格納されています
正規表現のせの字もわからんような状態から何とかあちこち検索かけてここまで作りました。
しかし、まだ正規表現のありがたみが足りない気がして、不満です。
よければもっと要約できる点、あるいは不備な点の指摘をお願いします。ちなみに、書き込みのためにここでは全角でインデントいます。コピペの際にご留意下さい。
#-----------------------#
# UA一般名化 #-----------------------------------------------------#
#-----------------------#
# 引数は、($ENV{'USER_AGENT'})
sub envUa2uaName{
my ($UA) = $_[0];
if($UA =~ /MSIE/){
$UA =~ s/(.){0,}MSIE ([0-9]{1,}(\.){0,}[0-9]{0,})(.){0,}/InternetExplorer $2/;
}
elsif($UA =~ /Opera/){
$UA =~ s/(.){0,}Opera(.)([0-9]{1,}(\.){0,}[0-9]{0,})(.){0,}/Opera $3/;
}
elsif($UA =~ /Safari/){
$UA =~ s/(.){0,}Safari(.)([0-9]{1,}(\.){0,}[0-9]{0,})(.){0,}/Safari $3/;
}
elsif($UA =~ /Netscape/){
$UA =~ s/(.){0,}Netscape(.)([0-9]{1,}(\.){0,}[0-9]{0,})(.){0,}/Netscape $3/;
}
elsif($UA =~ /Firebird/){
$UA =~ s/(.){0,}Firebird/Firebird/;
}
elsif($UA =~ /^Mozilla/){
$UA =~ s/Mozilla\/([0-9]{1,}(\.){0,}[0-9]{0,})(.){0,}/Mozilla $1/;
}
$UA =~ s/([a-z A-Z 0-9]{0,})\/([0-9]{1,}(\.){0,}[0-9]{0,})/$1 $2/g;
return $UA;
}
■ このスレッドは過去ログ倉庫に格納されています