URL-адрес соответствия с набором шаблонов URL содержит регулярное выражение - PullRequest
0 голосов
/ 31 октября 2018

У меня есть URL, который должен совпадать с одним из шаблона URL из массива нескольких шаблонов URL

var URLPatternsArr = ['https://m.abc.com/collections/([^/]+)','https://m.abc.com/store/([^/]+)/','https://m.abc.com/collections/([^/]+)/item/([^/]+)']

url = 'https://m.abc.com/collections/tagline-silk-mill/item/green-embroidered-faux-georgette-salwar-anarkali-salwar-kameez--42cba667-256a-4f95-8912-62f3d03a128f'

URLPatternsArr будет содержать n номеров различных URL с регулярным выражением. я буду повторять этот массив и проверять точное совпадение. если я использую функцию соответствия javascript

 Object.keys(URLPatternsArr).forEach(function(el) {
     console.log("-------");
     console.log("matching with "+URLPatternsArr[el]);
        if(url.match(URLPatternsArr[el])  != null)
        {
          console.log("matched with "+URLPatternsArr[el]);
        }
      });

URL совпадает с 'https://m.abc.com/collections/([^/]+)' и 'https://m.abc.com/collections/([^/]+)/item/([^/]+)',

Я хочу сопоставить этот URL с 'https://m.abc.com/collections/([^/]+)/item/([^/]+)', так как этот шаблон содержит / item / между двумя регулярными выражениями и URL содержит одно и то же. Какой будет хороший способ найти этот тип соответствия в javascript или Node.js?

1 Ответ

0 голосов
/ 31 октября 2018

Просто измените ваши шаблоны для полного соответствия:

var URLPatternsArr = ['^https://m.abc.com/collections/([^/]+)$','^https://m.abc.com/store/([^/]+)/$','^https://m.abc.com/collections/([^/]+)/item/([^/]+)$']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...