[#47667] 文字列中に含まれる 8 進数表記 "\nnn" というパターンに正規表現でマッチさせたい — Kensuke Kaneko <kyanny@...>
金子健介と申します。
7 messages
2010/12/01
[#47684] ネットワークに流れるパケットのキャプチャーについて。 — Tetsuo Beppu <anfojp@...>
はじめまして。
5 messages
2010/12/10
[#47705] Windows(CP932)でのRuby1.9のirbの実行について — 中川貴 <nora1962@...>
はじめまして中川と申します。
4 messages
2010/12/22
[#47715] Windowsで1.9.2p136+zlibのインストール — AOKI Yoshihiro <aoki@...>
あおきと申します。
14 messages
2010/12/27
[#47716] Re: Windowsで1.9.2p136+zlibのインストール
— "U.Nakamura" <usa@...>
2010/12/27
こんにちは、なかむら(う)です。
[#47717] Re: Windowsで1.9.2p136+zlibのインストール
— AOKI Yoshihiro <aoki@...>
2010/12/27
あおきです。
[#47719] Re: Windowsで1.9.2p136+zlibのインストール
— "U.Nakamura" <usa@...>
2010/12/27
こんにちは、なかむら(う)です。
[#47720] Re: Windowsで1.9.2p136+zlibのインストール
— AOKI Yoshihiro <aoki@...>
2010/12/27
あおきです。
[ruby-list:47669] Re: 文字列中に含まれる 8 進数表記 "\nnn" というパターンに正規表現でマッチさせたい
From:
KIMURA Koichi <kbk@...>
Date:
2010-12-01 18:12:35 UTC
List:
ruby-list #47669
木村です。
Kensuke Kaneko さんは書きました (2010/12/02 2:25):
> 以下のように "\000" "\243" を個別に指定すればマッチさせられるのですが、
> "\nnn" というパターンの全ての文字を個別に指定するのはできれば避けたいです。
>
> "Ver.1.01 \000\243".match( %r{\000} )[0]
> #=> "\000"
>
> "Ver.1.01 \000\243".match( %r{\243} )[0]
> #=> "\243"
マッチ対象の文字列がダブルクォートでくくられていますから、実際には
\ 0 0 0 というキャラクタの並びじゃなくて、八進で000の値となる文字が
そこにあることになります(\243も同様)。
ですから、それにたいして \ のあとに数字の並びという正規表現をマッチさせようとしても
するわけがありません。
> そこで質問なのですが、
>
> 1. 文字列に含まれる "\nnn" というパターンに正規表現でマッチさせることは可能なのでしょうか?
> 2. 可能である場合、どのような正規表現を書けば良いのでしょうか?
> 3. 不可能である場合、 "\nnn" というパターンのみを文字列から削除する良い方法はないでしょうか?
ということで良く考えれば 1. がきちんと実現できるはずです。
irb(main):003:0> "Ver.1.01 \\000\\243".match( %r{\\[0-9]+} )
=> #<MatchData "\\000">
--
木村浩一
I thought what I'd do was, I'd pretend I was one of those deaf-mutes or should I?
mail kbk at kt.rim.or.jp
web www.kt.rim.or.jp/~kbk/zakkicho/
homepage3.nifty.com/farstar/