PHP正则表达式通配符url与url匹配

PHP正则表达式通配符url与url匹配,php,regex,Php,Regex,我正在尝试将带有通配符的URL与实际URL进行匹配 例如: http://*.example.com/product/*/shop/ 需要匹配 http://a.example.com/product/table/shop/ http://b.example.com/product/shoe 到目前为止,我已经尝试了以下正则表达式,但它并非在所有情况下都有效: /([a-zA-Z0-9\-_*]+\.)?([a-zA-Z0-9\-_]+\.[a-zA-Z\.]{1,}[^\" ]+)/i

我正在尝试将带有通配符的URL与实际URL进行匹配

例如:

http://*.example.com/product/*/shop/
需要匹配

http://a.example.com/product/table/shop/
http://b.example.com/product/shoe
到目前为止,我已经尝试了以下正则表达式,但它并非在所有情况下都有效:

/([a-zA-Z0-9\-_*]+\.)?([a-zA-Z0-9\-_]+\.[a-zA-Z\.]{1,}[^\" ]+)/i

/([https?:\/\/])(\*.)?([^\" ]+)(\*.)?/i
有人能帮我吗?

试试这个:

    $re = "/(https?:\\/\\/)([a-zA-Z0-9]+)\\.(example.com\\/product\\/)([a-zA-Z0-9]+)(\\/shop)\\/?/";
    $str = "http://a.example.com/product/table/shop/\nhttp://b.example.com/product/shoe/";
    $subst = "";

    $result = preg_replace($re, $subst, $str);

这些URL是否包含在HTML标记中?到目前为止,您尝试了什么来尝试和解决您的问题?您需要显示您尝试了什么,而不是直接询问解决方案。尝试使用
/s
,例如:
/…/si
?您想检查您的通配符url是否与其他url匹配?是的,如果其他url与模式匹配,则允许进一步处理。