2007-02-12

正規表現は楽しい

正規表現は面白い。rubyを用いると、次のような感じだ。

text = 'C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off.' ;

re1 = /C\+{1}/ ;
re2 = /y.*f/ ;
re = /#{re1}.*#{re2}/ ;
re.match(text) ;

p(text) ;
p(re) ;
p($&) ;

なるほど、正規表現は確かに面白い。しかしこれは、他人の書いた正規表現は読めそうにない。たとえば、次のようなもの

IPv4にマッチする正規表現はどう書くか?
RFC2822に準拠する、メアドにマッチする正規表現
HTTP URLにマッチする正規表現

こんなもの、誰も読めるわけがない。

No comments:

Post a Comment

You can use some HTML elements, such as <b>, <i>, <a>, also, some characters need to be entity referenced such as <, > and & Your comment may need to be confirmed by blog author. Your comment will be published under GFDL 1.3 or later license with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.