2

次のスニペットについて考えてみます。

var regex = /^\d+$/; // equivalent to new RegExp('^\\d+$');

console.println(regex.test('000'));  
console.println(regex.test('abc0')); 
console.println(regex.test('ddd')); 

出力は次のようになると予想されます。

true
false
false

ただし、JavaScript1.8を実行するAdobeAcrobat Xで実行すると、次のように出力されます。

false
false
true

何が起きてる?

4

1 に答える 1

3

これは、Javascriptインタープリターに向かう途中の文字列処理の結果である可能性があり、これにより、\dがとして解釈されdます。余分なバックスラッシュ(どうやら)がトリックを行います。

/^\\d+$/
于 2013-01-08T22:33:32.240 に答える