トップ «前の日記(2001-03-13) 最新 次の日記(2001-03-15)» 編集

TPRG: 迷走メモ書き

[Donate to CCjp]
2000|12|
2001|01|02|03|04|05|06|07|08|09|10|11|12|
2002|01|02|03|04|05|06|07|08|09|10|11|12|
2003|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|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|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|07|08|11|12|
2009|01|02|
2010|04|06|09|

2001-03-14

_ [misc] 気晴らし正規表現

TAB→空白の変換、正規表現一発で出来ないかなぁ
あまり知らないのに、ちょっと考えてみる。

s/((?:[^\t]{8})*)([^\t]{0,7})\t/
      sprintf("%s%-8s", $1, $2)/eg;

全然自信なし。しかも、多分 sprintf よりも length の方がコストが低い……

* 実験

適当にベンチマークスクリプトを作ってやってみたら、全然そんなことは無かった。sprintf の方が遙かに早い。

length と sprintf 自体は length の方が少し早いと言うことは、1回の正規表現マッチに時間がかかっているということなのだろうな。(両方とも eval だし、違いはマッチを何回やっているかだけだから。)

お名前:
E-mail:
コメント:
[]


Tatsuki Sugiura <sugi@nemui.org>