私が走るとき
/^(.+)+Q$/.test("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")
ChromeまたはIEでは、完了するまでに最大10秒かかります。(Firefoxはほぼ瞬時に評価できます。)
なぜそんなに時間がかかるのですか?(そして、なぜ/どのようにFirefoxがこれほど迅速にそれを行うことができるのですか?)
(もちろん、私はこの特定の正規表現を実行したことはありませんが、http: //daringfireball.net/2010/07/improved_regex_for_matching_urlsのURL正規表現で同様の問題が発生しており、要約すると、ブラウザをロックアップさせる特定のURLです)
例えば:
var re = /\b((?:https?:\/\/|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))/i;
re.test("http://google.com/?q=(AAAAAAAAAAAAAAAAAAAAAAAAAAAAA")