2016-10-06 14 views
-2

正規表現 S sのマッチ `リターン+ place`

let str = String.fromCharCode(13) + ' '; 

次へ]を次のように私は、文字列を構築し、私は文字列が変な二つの空間

str.match(/\s\s/) 

が含まれているかどうかを知りたいですそれはマッチです。しかし、私がすれば

str.match(/ /) 

それはありません。誰かが私になぜこれが起こっているのか説明することができますか?

+1

正規表現パターンのスペース(通常のスペースと一致)は、 '\ s'(空白)と同じではありません。 –

+1

[here](http://www.regular-expressions.info/shorthand.html)を参照してください。 '\ s'は' [\ t \ r \ n \ f] 'と同じです。言い換えれば、スペース、タブ、改行、改ページ、改行にマッチしました。正規表現の味によって多少異なるかもしれないことに注意してください。 –

答えて

1

'\ s'パターンを使用すると、スペース自体だけでなく、あらゆる種類の空白に一致させることができます。より詳細なリストについては、例えばhereを確認することができます。 (現像参照からコピー)参考

は、スペース、タブ、フォーム フィード、ラインフィード、他のユニコード・スペースを含む、単一の空白文字にマッチ。 \ f \ n \ r \ t \ v \ u00a0 \ u1680 \ u180e \ u2000- \ u200a \ u2028 \ u2029 \ u202f \ u205f \ u3000 \ ufeff]に相当します。

たとえば、/ \ s \ w * /は "foo bar"の "bar"と一致します。

関連する問題