s/(\S+)(\s+)(\S+)/$3$2$1/;
- "キーワード=値"形式の文字列からキーワードと値を取得する
m/^(\w+)\s*=\s*(.*?)\s*$/;
m/.{80,}/;
length() >= 80;
- MM/DD/YY HH:MM:SS形式の日付を取得する
m|(\d+)/(\d+)/(\d+) (\d+):(\d+):(\d+)|
s(/usr/bin)(/usr/local/bin)g;
s/%([0-9A-Fa-f][0-9A-Fa-f])/chr(hex($1))/ge
s{
/* # 開きデリミタにマッチ
.*? # 0個以上の任意の文字にマッチ(最短マッチ)
*/ # 閉じデリミタにマッチ
}{}gsx;
s/^\s+//g;
s/\s+$//g;
s/\\n/\n/g;
- 完全修飾されたシンボル名からパッケージ名を削除する
s/^.*:://;
- 3つのドット(.)で区切られた4つの数値(IPアドレス)を取得する
m{
^ ( \d | [01]?\d\d | 2[0-4]\d | 25[0-5] )
\. ( \d | [01]?\d\d | 2[0-4]\d | 25[0-5] )
\. ( \d | [01]?\d\d | 2[0-4]\d | 25[0-5] )
\. ( \d | [01]?\d\d | 2[0-4]\d | 25[0-5] )
$
}x;
s{^.*/}{}
$cols = ( ($ENV{TERMCAP} || " ") =~ m/:co#(\d+):/ ) ? $1 : 80;
($name = " $0 @ARGV") =~ s{ /\S+/ }{ }g;
die "This isn't Linux" unless $^O=~ m/linux/i;
$/ = "";
s/\n\s+/ /g;
@nums = m/(\d+\.?\d*|\.\d+)/g;
@capwords = m/(\b\p{ Upper-case Letter }+\b/g;
@lowords = m/(\b\p{ Lower-case Letter }+\b/g;
@icwords = m{
( \b
[\p{ Upper-case Letter }\p{ Title-case Letter }]
\p{ Lower-case Letter } *
\b )
}gx;
@links = m/<A[^>]+?\bHREF\s*=\s*["']?([^'" >]+?)['"]?\s*>/ig;
$initial = /^\S+\s+(\S)\S*\s+\S/ ? $1 : "";
s/"([^"]*)"/''$1''/g;
- 文を抽出する(文の間には空白文字が2つ挿入されていなければならない)
{
local $/ = "";
while (<>) {
s/\n/ /g;
s/ {3,}/ /g;
push @sentences, m/(\S.*?[!?.])(?= {2}|\Z)/g;
}
}
m/\b(\d{4})-(\d\d)-(\d\d)\b/;
m/ ^
(?:
1 \s (?: \d\d\d \s)? # 1または1とエリアコード
| # または。。。
\(\d\d\d\) \s # 丸括弧付きのエリアコード
| # または。。。
(?: \+\d\d?\d? \s)? # 国番号(オプション)
\d\d\d ([\s\-]) # エリアコード
)
\d\d\d (\s|\1) # プレフィックス(およびエリアコードの区切り文字)
\d\d\d\d # 変換
$
/x;
m/\boh\s+my\s+gh?o(d(dess(es)?|s?)|odness|sh)\b/i;