読者です 読者をやめる 読者になる 読者になる

吉幾三の村に無いものにマッチする正規表現

はじめに

正規表現をうまく書けないので練習していたのですが、郵便番号にマッチさせたり、HTMLタグにマッチさせたりするのにも飽きてきたので、なにか飽きない練習法はないものかと考えました。

その結果、好きな曲の歌詞を使えばいいんじゃないかと思いつきました。歌詞は繰り返しもあるし、なんなら韻を踏んだりするので都合がよさそうな気がします。

今回はその一例、吉幾三の村に無いものにマッチする正規表現です。

SAMPLE INPUT

テレビも無エ ラジオも無エ
自動車もそれほど走って無エ
ピアノも無エ バーも無エ
巡査毎日ぐーるぐる
朝起きて牛連れで
二時間ちょっとの散歩道
電話も無エ 瓦斯も無エ
バスは一日一度来る

俺らこんな村いやだ 俺らこんな村いやだ
東京へ出るだ
東京へ出だなら 銭コア貯めで
東京で牛飼うだ

ギターも無エ ステレオ無エ
生まれてこのかた見だごとア無エ
喫茶も無エ 集いも無エ
まったぐ若者ア俺一人
婆さんと爺さんと数珠を握って空拝む
薬屋無エ 映画も無エ たまに来るのは紙芝居

俺らこんな村いやだ 俺らこんな村いやだ
東京へ出るだ
東京へ出だなら 銭コア貯めで
東京で馬車引くだ

ディスコも無エ のぞきも無エ
レーザー・ディスクは何者だ?
カラオケはあるけれど
かける機械を見だごとア無エ
新聞無エ 雑誌も無エ たまに来るのは回覧板
信号無エ ある訳無エ 俺らの村には電気が無エ

以下略

吉幾三俺ら東京さ行ぐだ」から引用

RESULT

$ ruby -e 'puts $<.read.scan(/(\S*?)も無エ/)' < tokyo.txt
テレビ
ラジオ
ピアノ
バー
電話
瓦斯
ギター
喫茶
集い
映画
ディスコ
のぞき
雑誌

考察

吉幾三の村に無いものがわかりました。ただ、よく見ればわかるとおり、「ステレオ」や「薬屋」「電気」などが抜けています。この正規表現では吉幾三の主張の一部が無視されてしまっており、課題が残りました。

まとめ

ちょっと頭を使うので、練習として自分にはちょうどよい感じでした。

他のお題として、「あなたが私にくれたものにマッチする正規表現」とか、「爆風スランプが無理だと言ってるものにマッチする正規表現」とかどうでしょうか。