Я довольно новый с регулярным выражением.Regex соответствует шаблону и исключает список строк
В основном я пытаюсь создать регулярное выражение для оценки пути URL из нашей системы. Однако, есть известная ошибка в нашей системе, которая вызывая URL путь стать действительно грязный ..
В идеале, URL должен быть
/mobile/retail.*
Из-за ошибки, то URL будет «что-то другое» в между «/ мобильным» и «/ розничной» что-то вроде этого
/mobile(/.*)?/retail
но непростые немного, когда есть некоторые слова, которые я хотел бы игнорировать в этом «что-то другое», то есть продажу, поиск , лот, логин. Таким образом, дело должно выглядеть следующим образом
Так у меня есть тестовый пример, как это:
- /мобильный/розничной торговли -> матч
- /мобильный/розничное/что-то -> матч
- /мобильный/что-то/розничное/что-то -> матч
- /мобильный/что-то/розничное/что-то/продажа -> матч
- /мобильный/что-то/что-то/розничное/что-то/продажа -> матч
- /мобил/продажа/что-то -> Dont матч
- /мобильный/что-то/продажа/что-то -> Dont матч
- /мобильный/что-то/продажа/что-то/розничное -> Dont матч
- /мобильный/серия/тест/розничное -> Dont матч
- /мобильный/тест/серия/тест/розничное -> Dont матч
- /мобильный/путь/test2/test3/testx/серия/тест/розничное -> Dont матч
Я немного застрял в этом регулярном выражении, и он не работает так, как я этого хочу.
/mobile(/(?!sale|search|lot|login).*)?/retail.*
Регулярное выражение выше не работает в условиях такой:
- /мобильный/что-то/продажа/то/розничной
- /мобильный/тест/серия/тест/розничное
- /mobile/path/test2/test3/testx/lot/test/retail
Слово исключить строго.Например, список ниже должен пройти:
- /мобильный/участок/розничное
- /мобильные/много/розничные
- /мобильные/много-оф-продажи/розничной
- /мобильный/продажи -item/розничное/что-то/тест/продажа
- /мобильный/поиск-PRG-вещь-тест/тест/розничное
любой человек с хорошим знанием регулярных выражений и любой обратной связи очень ценится.
Я думаю, что это лучше, чем у меня, так как это позволило бы пути, как '/ мобильный/участок/retail' проход (который шахта отторгнут). Разумеется, вы также откажетесь от '/ mobile/lots/retail'. @Wilson не совсем определил, насколько строго эти «плохие слова» нужно интерпретировать. –
Привет Тим, он специфичен только для/lot/или/sale /, например, я ожидаю/мобильный/сюжет/розничная и/mobile/lots/retail. Другой пример. Если это/mobile/saleitem/retail, он должен пройти тоже. Если это имеет смысл – Wilson
Я нашел это регулярное выражение: /mobile(?!(.*)(/sale/|/search/|/lot/|/login/).*/retail).*/retail.* и выглядит это работает! :) – Wilson