2013年7月31日水曜日

開発環境

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

その他参考書籍

1.

コード(BBEdit)

sample.pl

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

my $what = "fred|barney";

while (<>) {
    chomp;
    if (/($what){3}/) {
        print "Matched: |$`<$&>$'|\n";
    } else {
        print "No match: |$_|\n";
    }
}

入出力結果(Terminal)

$ ./sample.pl
fredfredbarney
Matched: |<fredfredbarney>|
barneyfredfred
Matched: |<barneyfredfred>|
barneybarneybarney
Matched: |<barneybarneybarney>|
fred
No match: |fred|
barney
No match: |barney|
fredfred
No match: |fredfred|
$

ちなみにpython3.3の場合。

コード(BBEdit)

sample.py

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

import re, sys

what = "fred|barney"

while True:
    s = input()
    if s == "":
        break
    res = re.search("(" + what + "){3}", s)
    if res:
        print("Matched: |" + s[0:res.start()] + "<" +
             res.group(0) + ">" + s[res.end():] + "|")
    else:
        print("No match: |{0}|".format(s)) 

入出力結果(Terminal)

$ ./sample.py
fredfredfred
Matched: |<fredfredfred>|
barneyfredfred
Matched: |<barneyfredfred>|
barneybarneybarney
Matched: |<barneybarneybarney>|
fred
No match: |fred|
barney
No match: |barney|
fredfred
No match: |fredfred|

$

0 コメント:

コメントを投稿