2013-02-11 3 views
0

Кто-нибудь знает, почему jsHint говорит, что это регулярное выражение имеет «Bad Escapement»?ошибка jshint с регулярным выражением

var regexp = new RegExp('^http(s)?:\/\/([a-z]+\.)?(' + this.opts.domain + ')', 'ig'); 

Он жалуется на сбежавшего период \.

Регулярное выражение до сих пор работает без побега период. Моя цель состоит в том, чтобы найти, если URL содержит данное доменное имя, http://rubular.com/r/5U7kVjhleu

ответ

1

Если построить регулярное выражение из строки, вы должны удвоить слэш (и вам не нужно, чтобы избежать косой черты):

var regexp = new RegExp('^http(s)?://([a-z]+\\.)?(' + this.opts.domain + ')', 'ig'); 
+0

Спасибо за ответ! Это первое, что я слышал о необходимости двойного обратного слэша в строке регулярного выражения, чтобы избежать символов. Я делал это неправильно все эти годы. –

Смежные вопросы