我尝试解析内容并找到Soundcloud网址。我的正则表达式有效但不会在空格后停止捕捉。
$re = '/((http:\/\/(soundcloud\.com\/.*|soundcloud\.com\/.*\/.*|soundcloud\.com\/.*\/sets\/.*|soundcloud\.com\/groups\/.*|snd\.sc\/.*))|(https:\/\/(soundcloud\.com\/.*|soundcloud\.com\/.*\/.*|soundcloud\.com\/.*\/sets\/.*|soundcloud\.com\/groups\/.*)))/i';
正如您在此处看到的https://regex101.com/r/4BZhlu/1,当网址为内联时,它不会停止。
提前致谢。
答案 0 :(得分:2)
这个正则表达式是复杂的。首先,正如Wiktor所述,将.*
替换为\S*
(这意味着除了空格字符之外的所有内容)。
然后,您可以重新组合案例:
(https?:\/\/(soundcloud\.com\/\S*|snd\.sc\/\S*))