From: Kazuhiro NISHIYAMA Date: 2003-07-04T16:13:55+09:00 Subject: [ruby-dev:20509] Re: 不正なバイト列とのマッチ 西山和広です。 In <200307040536.h645aPj3032487@sharui.nakada.kanuma.tochigi.jp> On Fri, 4 Jul 2003 14:36:26 +0900 nobu.nakada@nifty.ne.jp wrote: > これは勘違いでした。0xa3はUTF-8の先頭バイトとして不正なわけで、 > バイト列が途中で切れているEUCやSJISの場合とは意味が違います。 > > Regexpでは必ずしも正しいバイト列かどうか確認しているわけではな > いので、その手のチェックには向かないと思います。 > > /[\x0-\x7f\xc0-\xfd]/n =~ "\xa3" > > とでもする以外ないんじゃないでしょうか。 /./s =~ "\xF1" や /./e =~ "\xF6" のようにSJISやEUCの場合は 2バイト目だけにはマッチしません。 /./ は $KCODE が NONE 以外の時は 1*文字* にマッチすると 思っていたのですが、そうとは限らないのでしょうか? -- |ZnZ(ゼット エヌ ゼット) |西山和広(Kazuhiro NISHIYAMA)