url: space 后停止捕获
url: stop capturing after space
我尝试解析内容并找到 Soundcloud url。我的正则表达式有效,但在 space.
之后不停止捕获
$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 它不会在 url 内联时停止。
提前致谢。
这个正则表达式太复杂了。首先,如 Wiktor 所述,将 .*
替换为 \S*
(这意味着除 space 字符之外的任何内容)。
然后,您最多可以重新分组案例:
(https?:\/\/(soundcloud\.com\/\S*|snd\.sc\/\S*))
我尝试解析内容并找到 Soundcloud url。我的正则表达式有效,但在 space.
之后不停止捕获$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 它不会在 url 内联时停止。
提前致谢。
这个正则表达式太复杂了。首先,如 Wiktor 所述,将 .*
替换为 \S*
(这意味着除 space 字符之外的任何内容)。
然后,您最多可以重新分组案例:
(https?:\/\/(soundcloud\.com\/\S*|snd\.sc\/\S*))