[前][次][番号順一覧][スレッド一覧]

ruby-reference-manual:2749

From: Yui NARUSE <redmine@r...>
Date: Fri, 1 Jul 2011 11:02:11 +0900
Subject: [ruby-reference-manual:2749] [るりまプロジェクト - Bug #4948] 正規表現の \b の意味


Issue #4948 has been updated by Yui NARUSE.


確かに /\b/ =~ "a" は 0 だけど、/\b/ =~ "---" は nil になるってあたりの挙動を考えると、
\w に着目して説明するという方が良いように思います、いいんじゃないでしょうか
----------------------------------------
Bug #4948: 正規表現の \b の意味

http://redmine.ruby-lang.org/issues/4948

Author: 5 5
Status: Open
Priority: Low
Assignee: 
Category: doc
Target version: 
reporter: 
ruby_version: 


「正規表現」の \b の説明の「語境界」の意味として「\w と \W のあいだにマッチ」とありますが,これでは不十分です。

先頭文字が \w にマッチする場合は文字列先頭にマッチしますし,末尾文字が \w にマッチする場合は文字列末尾にマッチします。

※このことは旧リファレンスでも注釈の形で指摘されていました。

\b の説明として以下のようにしては如何でしょうか。

 文字クラス指定内ではバックスペース (0x08)。
 文字クラス指定外では,語境界,つまり“語”とみなされる部分文字列の両端位置を表します。
 ここで,語とは /\w+/ で見出される部分文字列のことです。
 
 覚え方:b は bound または border の b。
 
 str="foo bar+baz"
 /\bfoo/=~str # => 0
 /\bbar/=~str # => 4
 /\bbaz/=~str # => 8
 /\bo/=~str # => nil
 /o\b/=~str # => 2
 /z\b/=~str # => 10


-- 
http://redmine.ruby-lang.org

--
ML: ruby-reference-manual@m...
Info: http://QuickML.com/

[前][次][番号順一覧][スレッド一覧]

      2743 2011-06-30 06:06 [redmine@r...        ] [るりまプロジェクト - Bug #4948][Open] 正規表現の \b の意味
      2745 2011-07-01 02:24 ┣[redmine@r...        ] [るりまプロジェクト - Bug #4948] 正規表現の \b の意味
->    2749 2011-07-01 04:02 ┗[redmine@r...        ] [るりまプロジェクト - Bug #4948] 正規表現の \b の意味