я хотел бы использовать что-то вроде этого:
"/\/specific_string\/([^\/]+)\/([^\/]+)\/(\d+)/"
Я использую [^\/]+
, потому что это будет соответствовать любому, что не является sl зола. \w+
будет работать почти все время, но это также будет работать, если где-то есть неожиданный символ. Также обратите внимание, что для моего регулярного выражения требуется косая черта.
Если вы хотите, чтобы получить немного более сложным, следующее регулярное выражение будет соответствовать как паттернов вы обеспечили:
"/^(?:\/specific_string)*\/([^\/]+)\/([^\/]+)\/(\d+)$/"
это будет соответствовать:
"/any_string/any_string/any_number"
"/specific_string/any_string/any_string/any_number"
но это не
"/some_other_string/any_string/any_string/any_number"
Что вы подразумеваете под * мне нужен этот url *? Не совпадает ли ваше выражение со вторым URL? Btw. ваше выражение должно включать '/' вместо * любого символа '.' *, например. путем изменения разделителя: '~ (\ w +)/(\ w +)/(\ d +) ~'. Также обратите внимание, что '\ w +' не соответствует * любой строке *, но * любой строке символа слова *. –