У меня есть следующее регулярное выражение
var catalogueHrefRegex = /\/automobiles\/(cr)|(ts$)|(zs)|(ax)|(wx)$/;
Я тестирую это на URL-адресе, например
var href = "xxx/compare/ax?model=xxx";
Я запускаю следующий код
catalogueHrefRegex.test(href)
Я ожидал, что он вернет false, но он возвращает true. Я пытаюсь использовать такие URL-адреса, как
/automobiles/cr/...
/automobiles/ts/...
/automobiles/zs/...
/automobiles/ax/...
/automobiles/wx/...
У меня есть $ в конце ts, потому что я не хочу сопоставлять «автомобили/tsx». Я пробовал следующее, но ни один из них не работал должным образом.
/\/automobiles\/((cr)|(ts$)|(zs)|(ax)|(wx))$/
/\/automobiles\/*(cr)|(ts$)|(zs)|(ax)|(wx)*$/
Я плохо разбираюсь в регулярных выражениях, поэтому мои попытки были после некоторого поиска в Google. Я подозреваю, что способ, которым я настроил каналы, был неправильным, или группировка неверна, потому что, когда я пробую 'cr', он работает должным образом, но я не уверен, как сгруппировать cr/ts/zs/ax/wx, чтобы он говорит о совпадении автомобилей / cr или ts или ...
Каково правильное регулярное выражение для моих желаемых результатов? Спасибо за ваше время
(ts$)
, я думаю, что OP хочет сопоставить что-то вроде:/automobiles/ts
, но не:/automobiles/ts/1
. 26.08.2013/\/automobiles\/*(cr)|(ts$)|(zs)|(ax)|(wx)*$/
я думаю, что если это неts
в конце, он хочет, чтобы он продолжал соответствовать (и захватывать) до конца строки. Я думаю, он хочет что-то вроде:\/automobiles\/((cr|ts$|zs|ax|wx)\/.*)$
(это не проверено, пытаюсь донести идею) 26.08.2013