開発環境
- 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)の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 コメント:
コメントを投稿