js では、エスケープされた文字を取得するには、ドット/文字をダブルエスケープする必要があります。それは変だ。なんで?
js:
"." == "." // true
"\." == "." // true
"\\." == "." // false
"\a" == "a" // true
python/php では、期待どおりに動作します。
"\." == "." // False
js 正規表現では、逆に動作します。なんと奇妙なことでしょう :)
"\.".search(/\./) // no hit
"\\.".search(/\./) // hit
アップデート
TJ Crowderが正規表現の例が間違っていると正しく述べたように。\.
もちろん、正規表現はリテラルのドットに一致します。
正しい例は次のとおりです。
// Find a literal backslash and a literal dot
"\\.".search(/\\\./) // position 0
// Find a literal Dot
"\\.".search(/\./) // position 1