Simple Sand Samples |
説明のないとってもシンプルなサンプルプログラム集
COBOL | awk | C言語 | D言語 | GO言語 | Lua | Vim |
bash | Perl | Gauche | Clojure | CLISP | EmacsLisp | VimScript |
tcsh | Ruby | Groovy | Java | C# | VBScript | JavaScript |
Io言語 | Python | Erlang | Scala | VB.NET | Excel/VBA | PHP |
Tcl | Haskell | OCaml | PowerShell | Windows | Unix/Linux |
Perl > 正規表現を使う
re.pl
|
|
$ seq 1000 | perl re.pl
111
222
333
444
555
666
777
888
999
1000
$
111
222
333
444
555
666
777
888
999
1000
$
/[0]/ | 1文字が0 |
/[0-9]/ | 1文字が0,1,2,3,4,5,6,7,8,9のいずれか |
/[02468]/ | 1文字が偶数 |
/[BCD]/ | 1文字がB,C,Dのいずれか |
/[B-D]/ | 1文字がB,C,Dのいずれか |
/[0-2A-C]/ | 1文字が0,1,2,A,B,Cのいずれか |
/[^12]/ | 1文字が1,2以外 |
/[ぁ-ん]/ | 1文字がひらがなのいずれか |
/[ァ-ン]/ | 1文字がカタカナのいずれか |
/\w/ | 1文字が英数字 |
/\W/ | 1文字が英数字以外 |
/\d/ | 1文字が数字 |
/\D/ | 1文字が数字以外 |
/\s/ | 1文字が空白 |
/\S/ | 1文字が空白以外 |
/./ | 1文字が任意の1文字(改行文字以外の) |
/\t/ | 1文字がタブ |
/\n/ | 1文字が改行 |
/A*/ | Aが連続で0個以上 |
/A+/ | Aが連続で1個以上 |
/AB?/ | BがAの次に0個または1個あるか |
/z{4}$/ | zが連続で4個あって、データ末尾か? |
/z{3,}/ | zが連続で3個以上あるか? |
/(ABC){2,4} | 2回以上4回以下のABCの繰り返しになっているか? |
/(?:.)/ | ()を記憶しない |
/(?:a.b){1,3}/ | a.b a.ba.b a.ba.ba.b いずれかに一致 |
/\bABC\b/ | ABCが単語単位か? |
/\Bあいう\B/ | あいうが文字列の一部か? |
/\./ | .があるか? |
/\\/ | \があるか? |
/\*/ | *があるか? |
/\?/ | ?があるか? |
/\+/ | +があるか? |
/\^/ | ^があるか? |
/(HELLO).*\1/ | HELLOが行中にもう1回出現するか? |
/(HELLO)(SEEU).*\2/ | SEEUが行中にもう1回出現するか? |
$abc =~ tr/ABCDEFG/1234567/; | それぞれAは1 Gは7に置き換える |
$abc =~ tr/A-Z/a-z/; | それぞれAはa Zはzに置き換える |
$abc =~ s/ABCDEF/EFG/; | ABCDEFをEFGに最初にマッチした文字列だけ置き換える |
$abc =~ s/ABCDEF/EFG/g; | 行中のABCDEFをEFGに全部置き換える |
$abc =~ s/ABCDEF//g; | 行中のABCDEFを全部削除する |
* 確認環境 Debian Linux(Wheezy)