開発環境
- OS X Lion - Apple(OS)
- BBEdit - Bare Bones Software, Inc., Emacs(Text Editor)
- プログラミング言語: Perl
『初めてのPerl 第6版』(Randal L. Schwartz, Tom Phoenix, brian d foy 共著、近藤 嘉雪 訳、オライリー・ジャパン、2012年、ISBN978-4-87311-567-2)の8章(正規表現によるマッチ)の8.10(練習問題)2を解いてみる。
その他参考書籍
2.
コード(BBEdit)
sample.pl
#!/usr/bin/env perl
use strict;
use warnings;
use 5.016;
use utf8;
binmode STDOUT, ':utf8';
binmode STDIN, ':utf8';
while (<>) {
chomp;
if (/a\b/) {
print "Matched: |$`<$&>$'|\n";
} else {
print "No match: |$_|\n";
}
}
入出力結果(Terminal)
$ ./sample.pl < test.txt No match: |A| Matched: |<a>| Matched: |kamimur<a>'s blog| Matched: |http://sitekamimur<a>.blogspot.com| No match: |KMI| Matched: |http://www.mkamimur<a>.com | No match: |Fred| No match: |FRED| No match: |fred| No match: |frederick| No match: |Alfred| No match: |fred flintstone| No match: |Mr. Slate | No match: |Mississippi| No match: |Bamm-Bamm | Matched: |wilam<a>| No match: |barney| Matched: |wilm<a> and fred| Matched: |fred and wilm<a>| Matched: |Wilm<a> and Fred | Matched: |Fred and Wilm<a>| Matched: |wilm<a>&fred| Matched: |Mrs. Wilm<a> Flintstone | Matched: |I saw Wilm<a> yesterday| Matched: |I, Wilm<a>!| No match: |Z| Matched: |llam<a>| $
ちなみにpython3.3の場合。
コード(BBEdit)
sample.py
#!/usr/bin/env python3.3
#-*- coding: utf-8 -*-
import re, sys
for line in sys.stdin:
line = line.rstrip()
res = re.search(r"a\b", line)
if res:
print("Matched : |{0}<{1}>{2}|".format(
line[0:res.start()], res.group(), line[res.end():]))
else:
print("No match: |{0}|".format(line))
入出力結果(Terminal)
$ ./sample.py < test.txt No match: |A| Matched : |<a>| Matched : |kamimur<a>'s blog| Matched : |http://sitekamimur<a>.blogspot.com| No match: |KMI| Matched : |http://www.mkamimur<a>.com| No match: |Fred| No match: |FRED| No match: |fred| No match: |frederick| No match: |Alfred| No match: |fred flintstone| No match: |Mr. Slate| No match: |Mississippi| No match: |Bamm-Bamm| Matched : |wilam<a>| No match: |barney| Matched : |wilm<a> and fred| Matched : |fred and wilm<a>| Matched : |Wilm<a> and Fred| Matched : |Fred and Wilm<a>| Matched : |wilm<a>&fred| Matched : |Mrs. Wilm<a> Flintstone| Matched : |I saw Wilm<a> yesterday| Matched : |I, Wilm<a>!| No match: |Z| Matched : |llam<a>| $
0 コメント:
コメントを投稿