2013年7月22日月曜日

開発環境

『初めてのPerl 第6版』(Randal L. Schwartz, Tom Phoenix, brian d foy 共著、近藤 嘉雪 訳、オライリー・ジャパン、2012年、ISBN978-4-87311-567-2)の7章(正規表現の世界)の7.4(練習問題)4を解いてみる。

その他参考書籍

4.

コード(BBEdit)

sample.pl

#!/usr/bin/env perl
use strict;
use warnings;
use 5.016;
use utf8;
binmode STDOUT, ':utf8';
binmode STDIN, ':utf8';

while (<>) {
    if (/\b[A-Z][a-z]*\b/) {
        chomp;
        print "$_\n";
    }
}

入出力結果(Terminal)

$ cat test.txt
A
a
kamimura's blog
http://sitekamimura.blogspot.com
KMI
http://www.mkamimura.com   
Fred
FRED
fred
frederick
Alfred
fred flintstone
Mr. Slate     
Mississippi
Bamm-Bamm    
wilama
barney
wilma and fred
fred and wilma
Wilma and Fred      
Fred and Wilma
wilma&fred
Mrs. Wilma Flintstone   
I saw Wilma yesterday
I, Wilma!
Z
llama
$ ./sample.pl < test.txt
A
Fred
Alfred
Mr. Slate     
Mississippi
Bamm-Bamm    
Wilma and Fred      
Fred and Wilma
Mrs. Wilma Flintstone   
I saw Wilma yesterday
I, Wilma!
Z
$

ちなみにpython3.3の場合。

コード(BBEdit)

sample.py

#!/usr/bin/env python3.3
#-*- coding: utf-8 -*-

import sys, re

for line in sys.stdin.readlines():
    if re.search(r"\b[A-Z][a-z]*\b", line):
        print(line.rstrip())

入出力結果(Terminal)

$ ./sample.py < test.txt
A
Fred
Alfred
Mr. Slate
Mississippi
Bamm-Bamm
Wilma and Fred
Fred and Wilma
Mrs. Wilma Flintstone
I saw Wilma yesterday
I, Wilma!
Z
$

0 コメント:

コメントを投稿