url:在空格后停止捕获

时间:2017-03-08 12:26:42

标签: regex pcre

我尝试解析内容并找到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,当网址为内联时,它不会停止。

提前致谢。

1 个答案:

答案 0 :(得分:2)

这个正则表达式是复杂的。首先,正如Wiktor所述,将.*替换为\S*(这意味着除了空格字符之外的所有内容)。

然后,您可以重新组合案例:

(https?:\/\/(soundcloud\.com\/\S*|snd\.sc\/\S*))

demo