2

\Wとに慣れてきました\S。今、私は彼らがどのように振る舞うかを見るために遊んでいて、それに応じて以下を試しました:

> s="abd12 de 5t6"
=> "abd12 de 5t6"  #understood
> /\W/ =~ s
=> 5               #understood
> /\W\S/ =~ s
=> 5               #Confusion(A)             
> /\S\W/ =~ s
=> 4               #Confusion(B) 
> /\S/ =~ s  
=> 0               #understood
>  

ロジックが実行されたものと出力を andPart-AとしてPart-B与えること。そこで私のコンセプトをクリアしたかっただけです。Inは a を示しますが、そうではありません。54Part-A 5non-word charactera non- white space charater

知りたいIRBのは、そのようなステートメントをどのように扱うのconfusion - A and Bですか?

ありがとう

4

1 に答える 1

2

\W\S正規表現に がある場合、基本的には、「文字が単語以外の文字であり、その後にスペース以外の文字が続く文字列で一致を見つけます」と言っているということです

Confusion A最初の非単語文字は最初のスペース (インデックス 5) です。その直後の次の文字は、dスペース以外の文字です。これは一致であり、一致が開始されたインデックスであるため 5 を返します。

同様に、\S\Wスペース以外の最初の文字は ですが、その後に単語文字がa続くbため、一致はまだ機能しません。(位置 4) に達すると、それ2は非スペース文字と一致し、その後に非単語文字であるスペースが続きます。

于 2013-01-17T07:25:19.700 に答える