2013年7月26日金曜日

開発環境

『初めての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 コメント:

コメントを投稿