Показать сообщение отдельно
  #21 (permalink)  
Старый 02.07.2011, 23:34
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от B@rmaley.e><e
Но с учетом поправки, корректный код будет выглядеть так:
Однако, не соответствует условиям здания, т.к. выражения должны быть идентичными
RegExp.prototype.toString = function(){
    return this.source;
}
 
var rx1 = RegExp(/regular/ + /expression/);
var rx2 = /regularexpression/;

alert(rx1 == rx2);


как альтернативный подход:
var rx1 = RegExp(/regular/ + /expression/);
var rx2 = /regularexpression/;

rx1 = rx1.source.replace(/\W/g, '').replace(/.*/, '/$&/');

rx1 = rx1.toString();
rx2 = rx2.toString();
    
alert(rx1 === rx2)
Ответить с цитированием