Может быть, это то, что вы ищете?
/^https?:\/\/www.yellowpages.com\/[\w|-]+\/mip\/[\w|-]+-\d+(\?from=pubapi_[^\s]{5})?/
Приведенное выше регулярное выражение будет соответствовать базовому URL и дополнительно может соответствовать ?from=pubapi_
плюс пять непробельных символов.
Мне интересно, как это сделать, или, то есть? Из или не используя это
Это должно быть суть вашего вопроса, я полагаю.Это может быть достигнуто путем создания необязательной группы с использованием ()?
(обратите внимание на ? в конце, что означает «ноль или один из»).Я бы посоветовал поиграть на https://regex101.com/, чтобы почувствовать такой «продвинутый» синтаксис регулярных выражений.