正規表現では否定の先読みも利用することができます。ここでは Ruby の正規表現で否定の先読みを使用する方法について解説します。
![否定の先読み使ったパターンを作成する](https://cdn-ak-scissors.b.st-hatena.com/image/square/8b1978164187a97d31a33899dddba8df63d6ac8f/height=288;version=1;width=512/https%3A%2F%2Fwww.javadrive.jp%2Fruby%2Fregex%2Fimg%2Fp34-0.png)
正規表現では否定の先読みも利用することができます。ここでは Ruby の正規表現で否定の先読みを使用する方法について解説します。
正規表現に関してはリテラル/正規表現リテラル、$&、 Regexp そして MatchData なども参照して下さい。 正規表現記号 後方参照 文字クラス バックトラック サンプル 正規表現記号 以下は、ruby がサポートする正規表現記号(メタ文字)の一覧です。 (正規表現のオプションについてはリテラル/正規表現リテラルを参照してください) \を伴わない英数字 はメタ文字ではない \を伴う記号 はメタ文字ではない(`\*'は「繰り返し」でなく「アスタリスク」) という規則があります。 以下の説明の中で「多バイト文字に対応した正規表現」とは、 $KCODE が設定されているか、あるいは明示的に漢字オプショ ン(リテラル/正規表現リテラルを参照)を指定するなどにより多バイト文字 にマッチし得る正規表現を指します。 ^ 行頭。文字列の先頭や改行文字の直後の位置にマッチします。 $ 行末。文字列
前回投稿した半角/全角バリデータの正規表現の中身を解説します。 前回は、rubyで使える半角/全角バリデータを紹介しました。 あのソースは突貫工事的に書いたものなので、実は自分でも仕組みを理解しないままでした。 ですが、「それじゃあいかん!」ってことで、1つずつ調べてみました。 以下、ソース再掲↓ KCODE = 'u' def self.hankaku?(str) return nil if str.nil? # 半角のみOKなので、全角が混ざっているとfalseが返る unless str.to_s =~ /^[ -~。-゚]*$/ return false end return true end def self.zenkaku?(str) return nil if str.nil? # 全角のみOKなので、半角が混ざっているとfalseが返る unless str.to_
rubyで文字列が半角のみで構成されているか、あるいは全角のみなのかを判定する正規表現は以下のようになります。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く