В вашем регулярном выражении есть пара ошибок.
Первый ^
соответствует start начала или началу строки, если многострочный режим включен.
Часть [^com\/de\/cms]
означает соответствие любому символу кроме c
, или o
, или m
, или /
, или, et c. Но вы намеревались сопоставить любую подстроку , кроме com/de/cms
в целом. То, что вы хотите, можно сделать с помощью отрицательного просмотра назад , например: (?<!com\/de\/cms\/)
Вам не хватает части catname
.
Рабочее регулярное выражение будет:
(?<!com\/de\/cms)\/catname\/all-from-category\/\?pageNumber=\d
Предыдущее регулярное выражение просто говорит следующее:
Пожалуйста, сравните /catname/all-from-category/?pageNumber=SOME_DIGIT
, то есть не , которому предшествует com/de/cms
.
Regexr .