開発環境
- OS X Lion - Apple(OS)
- TextWrangler(Text Editor) (BBEditの機能制限無料版、light版)
- Script言語:Perl
『初めてのPerl 第5版』(Randal L. Schwartz, Tom Phoenix, brian d foy 共著、近藤 嘉雪 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-427-9)の8章(正規表現によるマッチ), 8.10(練習問題)5を解いてみる。
用意したファイル、test
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
5.
やり方の1つ。(「やり方は何通りもある」(TIMTOWTDI(There Is More Than One Way To Do It.)))
コード(TextWrangler)
#!/usr/bin/env perl use strict; use warnings; while(<>){ chomp; if(/\b(?<word>\w.*a)\b(?<word1>.{0,5})/){ print "Matched: |$`<$&>$'|\n"; print "<word> contains '$+{word}'$+{word1}#\n"; } else { print "No match: |$_|\n"; } }
入出力結果(Terminal)
$ ./perl_program test No match: |A| No match: |a| Matched: |<kamimura's bl>og| <word> contains 'kamimura''s bl# Matched: |<http://sitekamimura.blog>spot.com| <word> contains 'http://sitekamimura'.blog# No match: |KMI| Matched: |<http://www.mkamimura.com > | <word> contains 'http://www.mkamimura'.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: |<wilama>| <word> contains 'wilama'# No match: |barney| Matched: |<wilma and >fred| <word> contains 'wilma' and # Matched: |<fred and wilma>| <word> contains 'fred and wilma'# Matched: |<Wilma and >Fred | <word> contains 'Wilma' and # Matched: |<Fred and Wilma>| <word> contains 'Fred and Wilma'# Matched: |<wilma&fred>| <word> contains 'wilma'&fred# Matched: |<Mrs. Wilma Flin>tstone | <word> contains 'Mrs. Wilma' Flin# Matched: |<I saw Wilma yest>erday| <word> contains 'I saw Wilma' yest# Matched: |<I, Wilma!>| <word> contains 'I, Wilma'!# No match: |Z| Matched: |<llama>| <word> contains 'llama'# $
0 コメント:
コメントを投稿