2007年10月27日土曜日

ごり押し最高?

漢(おとこ)なら黙ってごり押し!!

いや、だめだと思うんです。本当は。
でもね。そうしなけりゃいけない場合ってのがあると思うんです。
正規表現つかった作業してるんですが。まさにそんな感じ。
でもちょっと不満が!
否定文字ってのは[^]で表現するんですが、
文字列の否定は難しい!
たとえば「hoge」を含まない場合を考える場合、
[^(hoge)]じゃうまくいかないわけです。
[^h][^o][^g][^e]となるわけです。
こういう風に断定してる場合は、何とかできそうですが、
正規表現を使う上では断定している場合ってのは少ないはず。
そうなってくると複雑化します。
その辺、文字だけでなく文字列の否定をやってくれると楽なんだけどなぁ。

2 件のコメント:

  1. perl -e ' $v = "foobar"; print( $v . "\n" ) if $v =~ /foo(?!bar)/ ; '
    こんなん?(何もでないのが正解)
    Perlの正規表現の拡張は変態なのでたいてい探すとあったりする。
    http://www.perl.com/doc/manual/html/pod/perlre.html
    まぁ、(?!pattern)はRubyでも使えるけど。

    返信削除
  2. 有力情報Thx!!
    あーほんとだ。あるなぁ。
    どこ見てたんだろ。
    なんかいろいろ見てると解決しそうだ。
    ちなみに日本語版。
    http://www.kt.rim.or.jp/~kbk/perl5.005/perlre.html
    なんか使っていくと、
    正規表現だけで本ができるのがわかった気がした。

    返信削除