history

青木日記 RSS

<前の日 | この月 | 次の日>

2003-05-06

「^」「$」を安易に使うべきではない委員会

(2004-09-28 追記) これはRubyの正規表現に限った話です。

正規表現で「文字列の先頭」のつもりで「^」を使うのは間違いです。 バグです。誤りです。「^」は行頭であって文字列先頭ではありません。 いますぐ「\A」に直してください。

% ruby -e 'p /^a/ === "b\na\n"'
true
% ruby -e 'p /\Aa/ === "b\na\n"'
false

「$」も同様です。 文字列末尾を表すのは「\z」です。 「\Z」でもありません。

% ruby -e 'p /a$/s === "b\na\n"'
true
% ruby -e 'p /a\Z/s === "b\na\n"'
true
% ruby -e 'p /a\z/s === "b\na\n"'
false

「リファラ」を「リファ」って略しても一文字しか減ってないじゃん。

ほん

"Haskell: The Craft of Functional Programming" second edition, Simon Thompson, Addison-Wesley 1999

また買っちゃった……。

このまえ買った "Introduction to Functional Programming using Haskell" も内容は悪くないんですが、結局 Introduction to FUNCTIONAL PROGRAMMING であり Introduction to Haskell でないということを悟りました。 「/=」を「≠」と書いたりしてくれるのがそこはかとなくウザいし。

名前
メールアドレス

<前の日 | この月 | 次の日>
2002|04|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|04|05|06|09|10|
2009|07|
2010|09|

Copyright (c) 2002-2007 青木峰郎 / Minero Aoki. All rights reserved. LIRS