我需要一个字符串的正则表达式是一个图像网址。 我需要三种正则表达式
答案 0 :(得分:1)
您可以使用:
$pattern = '~(?>https?+:/|/)?(?>/[^/\s]++)+~';
说明:
(?> # open an atomic group *
https?+ # http or https
:/ #
| # OR
/
)? # close the atomic group and make it optional
(?> # open an atomic group
/
[^/\s]++ # all characters except / or spaces one or more times (possessive *)
)+ # close the atomic group, one or more times
(*有关possessive quantifiers和atomic groups的更多信息。)
注意:
由于模式描述了一个充满斜杠的url,我使用~
作为分隔符而不是经典/
。因此,斜杠不需要在模式中转义。
您可以为此模式添加锚点,以确保从开头到结尾完全匹配您的字符串:
$pattern = '~^(?>https?+:/|/)?(?>/[^/\s]++)+$~';