[#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:47671] Re: 文字列中に含まれる 8 進数表記 "\nnn" というパターンに正規表現でマッチさせたい
From:
Kensuke Kaneko <kyanny@...>
Date:
2010-12-02 12:28:20 UTC
List:
ruby-list #47671
斎藤さん
金子です。
非常にわかりやすい説明、ありがとうございました。
"\126\145\162\056\061\056\060\061\040\000\243" を試してみて、目から鱗が落ちました。
[[:print:]] のような文字クラスの存在だけは知っていたのですが、このように使えるのですね。
「printable ではない文字」、まさにそれだけを区別する方法が欲しかったものでした。
おかげでいま抱えている問題を解決できる見通しが立ちそうです。ありがとうございました。
2010年12月2日2:55 Tadashi Saito <shiba@mail2.accsnet.ne.jp>:
> 斎藤と申します。
>
> ざっくり省きますが、
>
> On Thu, 2 Dec 2010 02:25:51 +0900
> Kensuke Kaneko <kyanny@gmail.com> wrote:
>
>> 1. 文字列に含まれる "\nnn" というパターンに正規表現でマッチさせることは可能なのでしょうか?
>> 2. 可能である場合、どのような正規表現を書けば良いのでしょうか?
>> 3. 不可能である場合、 "\nnn" というパターンのみを文字列から削除する良い方法はないでしょうか?
>
> irbに
> "\126\145\162\056\061\056\060\061\040\000\243"
> などと入力したら、理解が深まるのではないでしょうか。
>
> つまり
> ・あらゆる文字列はバイト(数値)の連なりであり
> ・1バイトは\nnnという8進数で表記できるため
> ・すべての文字列は\nnnの連なりで表せる
> ということになります。
>
> 金子さんのおっしゃる「"\nnn" というパターン」とは何か、というのをじっくり考えてみる
> と、見えてくるものがあるのではないでしょうか。
>
> それで、結論を先回りすると、それはprintableでない文字を差すような気がします。もし
> それが金子さんの欲するものであれば、
> somestring.split(//).select{|c| c =~ /[[:print:]]/}.join
> で大丈夫なはずです。(ちなみにマルチバイト文字は、また別のお話になります。)
>
> --
> 斎藤ただし
>
>
--
Kensuke Kaneko <kyanny@gmail.com>