ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

正規表現でのチェック方法を考える-その7 英数字

2008-04-16 17:09:13 | 正規表現

チェックは、正規表現でやれば、いろんな言語でいけそうなので、正規表現で、いろんな値をチェックする方法を考える、シリーズ「正規表現でのチェック方法を考える」

数字はひととおり終わったので、今回から、文字に行きます。
ということで、はじめは英数字です。

なお、このシリーズにおいて、本文中¥となっているところは、
本来は、半角の円マークにするところです。
(半角円マークでかくと、修正のとき面倒なので・・・)




■[0-9A-Za-z]はいいんだけど。。。

 英数字というと、要素を全部挙げて、

/^[0-9A-Za-z]*$/

 と書いた場合は、もんだいありません(たぶん)

 ただ、¥wを使って、
/^¥w*$/

と書いた場合は、注意が必要です。




■Rubyは、動作が違う

 いつものように、JavaScriptにそれを入れると、

 半角英数字は、OK
 全角で数字を入力すると、エラー!

 です。

 ところが、Rubyだと、全角の数字も、英数字でOKのようです。
 (¥dは、Rubyでも半角のみのようです)

 このように、RubyとJavascriptでは、動きが違うものがあるみたいです。




■サンプル

きょうのサンプルはRubyにします。


s="123"
s.sub(/¥w/,"c")

(¥は本当は半角です)

とやると(irbだと、結果が表示される)、
c23
とおきかわって、表示されます。

では、

s="123"
s.sub(/¥w/,"c")

(¥は本当は半角です。123は本当に全角です。cは半角です)

とやると・・・(ruby-1.9.0-0のirbで実行しています)

・・・見なかったことにしましょう(^^;)


この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 修正可能なシステム その3... | トップ | 情報処理試験ぐらいのお勉強... »
最新の画像もっと見る

正規表現」カテゴリの最新記事