2012-01-01 23 views
2

文字列にthis - > "#3232"という部分文字列があるかどうかを調べる正規表現があります。正規表現 - 他の言葉ではありません

/(#|\/)\d+$/ 

私は、もし文字列が/(#|\/)\d+$/を除く他の文字を持っていないことが判明します。ここで

どのように文字列の先頭と最後に正規表現を固定する程度

string s = "bla bla bla #3242 bla"; //no it has some extra characters 
            //except #3242 

string s = "#3126"; // yes it's the right word, It doesn't 
        // have any characters except #3126 

答えて

4

例である:アンドリューが言うように、あなたは初めに一致するように^演算子を使用する必要があります

/^(#|\/)\d+$/ 
+0

を、それが働いていないではない、http://jsfiddle.net/AuTGF/1/ – user1125457

+0

'^'文字列の最初の文字の前の位置に一致します。与えられた例では、最初の "ああ"の "b"の直前の位置になります。 – StackOverflowNewbie

+0

@ user1125457:Err、あなたの 'if'と' else'は両方とも同じことを書いています。 http://jsfiddle.net/YwYzM/ –

1

文字列のまた、単一の文字を選択するときは、[...]オペレータが読みやすくなります。次の式を試してみてください。

/^[#\/]\d+$/ 
+1

あなたは正しいです、私はそれらの構造の名前を追加したいだけです: '[#\ /]'は文字クラスで、 '(#| \ /)'は交互(OR)です。 – stema

関連する問題