JavaScriptでregex
の一致を検索する構文はstring
で、string.search(regex)
です。同様に、match
,replace
およびsplit
と同様である。JavaScriptがregex.test(string)で、string.test(regex)ではないのはなぜですか?
regex.test(string)
のように、test
の場合、正規表現/文字列の順序が逆になるのはなぜですか?他の正規表現関数と同じようにstring.test(regex)
はなぜですか?
'test'は' RegExp'オブジェクトのメソッドです。だから、文字列にマッチする正規表現をテストしている。構文の問題は組み込みメソッドではありませんか?あなたが望むなら、独自のString.testメソッドを実装することができます。 http://jsbin.com/bejikabedi/1/edit?js,console – Gerardo
確かに、構文自体からはっきりしているので、実際には説明できません。 'match'などは' RegExp'オブジェクトの 'test'メソッドではないのはなぜですか? – globewalldesk
私は単純な考え方は、文字列は正規表現を 'テストする 'ことはできませんが、正規表現が文字列を' test'するのには完全に意味があるということです。 – sisanared