2011-07-07 24 views
2

私はこの正規表現を持っています。すべての1文字とスペースに沿って1文字をすべて一致させることになっています。例えば正規表現が正しく機能しない

wwwwwwww - MATCH 
www wwwwww - MATCH 
@@@@@ - MATCH 
wwwwqq - NOT MATCH 
wwww qqqq - NOT MATCH 

しかし、それはのようなもの一致していない:

@@@@@@@ 
....... 

それの何が問題なのですが?ここでは、以下の通りです:

var match = Regex.Match(message, @"^\s*(\w)(?:\1|\s)*$"); 

答えて

3

@.は "単語文字" ではありませんので。 (.)と一致することはできませんでしたか?

var match = Regex.Match(message, @"^\s*(.)(?:\1|\s)*$"); 

\S(空白以外の文字)でも試してみることができます。

+1

単語の文字だけでなく文字もどのように一致させるのですか? – slandau

+0

'.'または' \ S'を使用します。私の答えを見てください。 – Vache

+0

ああ大丈夫だよ。ああ、私はそれを知らなかった。ありがとうございました! – slandau

1

\wは、@または.のような句読点を含まない「単語文字」の略語です。

ドット(.)任意の文字を表し; \Sは、空白でないことを示します。

関連する問題