2012-02-08 6 views
0

私はパターンa:bの出現を探しています。これは、フォームのものであってもよいjavascript:aの正規表現:b

  • a: b又は
  • a :b 又は
  • a : b

(オプションのスペースに注意してください)。

私は正規表現に新しいですし、フォームの何かしようとしていた:a\s:\sbをしかしちょっと作業はDIN ..

は、誰かが正しいものを私を指摘することはできますか?

おかげで..

+1

:bが一致するようにしますか、またはコロンの両側で最大1つのスペースですか? –

答えて

3

a\s*:\s*bを試してみてください。また、これはテストするのに便利です:http://www.pagecolumn.com/tool/regtest.htm

+2

私はOPが無限のスペースを望んでいるとは思わない。 – Czechnology

+0

恐ろしく..ありがとうございました。 – sharath

+0

私はあなたのコードを試して、偽を取得します。私は何をやっているのですか? var patt1 =新しいRegExp( "a \ s *:\ s * b"); document.write(patt1.test( "a:b")); – sharath

4

あなたの現在の正規表現は 'a \ s:\ sb'です。パターンの '\ s'部分をオプションにしなかったので、これは '[SPACE]:[SPACE] b'に一致します。ここでは[SPACE]をスペース、タブ、または他のもののスタンドインとして使用しています空白文字。代わりに、 'a \ s?:\ s?b'を使うことができます。これは空白をオプションにします。

さらに詳しい表現情報については、the Perl regular expression tutorialをお勧めします。

+0

恐ろしい..ありがとう。 – sharath

+0

私は以下のあなたのコードを試して、偽を取得します。私は何をやっているのですか? var patt1 = new RegExp( "a \ s *:\ s * b"); document.write(patt1.test( "a:b")); – sharath

+0

あなたのコードでは、バックスラッシュをエスケープする必要があるので、 'var patt1 = new Regexp(" a \\ s?:\\ s?b ");' –