首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何匹配php中包含有固定数量字母数字字符的https url的字符串?

如何匹配php中包含有固定数量字母数字字符的https url的字符串?
EN

Stack Overflow用户
提问于 2020-06-21 13:23:59
回答 2查看 51关注 0票数 2

我有一根看起来像:

代码语言:javascript
复制
"res":"https://my.site.com/image/I/fj23l6j2lgk_AM1200_.jpg"

我的bash是(如果我们让上面的值等于$str):

代码语言:javascript
复制
echo $str | grep -oE "\"res\":\"https://my.site.com/image/I/[[:alnum:]]{11}._[a-zA-Z0-9_]*_.jpg\"" \
| grep -oE "my.site.com/image/I/[[:alnum:]]{11}._[a-zA-Z0-9_]*_.jpg" | head -1

干净利落地提取出https://my.site.com/image/I/fj23l6j2lgk_AM1200_.jpg

在PHP中,我不确定是否存在类似于上面的内容。有人有什么建议吗?

EN

回答 2

Stack Overflow用户

发布于 2020-06-21 13:54:47

您只需在正则表达式中避开所有的/.,就可以了。我还去掉了接近尾端的一个点。

代码语言:javascript
复制
my\.site\.com\/image\/I\/[[:alnum:]]{11}_[a-zA-Z0-9_]*_\.jpg

试试吧,这里

票数 1
EN

Stack Overflow用户

发布于 2020-06-21 14:00:50

使用PHP,您可以通过以下方法来选择:

代码语言:javascript
复制
$subject = '"res":"https://my.site.com/image/I/fj23l6j2lgk_AM1200_.jpg"';
$regex = '/https:\/\/my\.site\.com\/image\/I\/[[:alnum:]]{11}_[a-zA-Z0-9_]*_.jpg/'
preg_match($regex , $subject , $matches);

var_dump($matches);

产出:

代码语言:javascript
复制
array(1) {
  [0]=>
  string(51) "https://my.site.com/image/I/fj23l6j2lgk_AM1200_.jpg"
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62499153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档