我有一根看起来像:
"res":"https://my.site.com/image/I/fj23l6j2lgk_AM1200_.jpg"我的bash是(如果我们让上面的值等于$str):
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中,我不确定是否存在类似于上面的内容。有人有什么建议吗?
发布于 2020-06-21 13:54:47
您只需在正则表达式中避开所有的/和.,就可以了。我还去掉了接近尾端的一个点。
my\.site\.com\/image\/I\/[[:alnum:]]{11}_[a-zA-Z0-9_]*_\.jpg试试吧,这里。
发布于 2020-06-21 14:00:50
使用PHP,您可以通过以下方法来选择:
$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);产出:
array(1) {
[0]=>
string(51) "https://my.site.com/image/I/fj23l6j2lgk_AM1200_.jpg"
}https://stackoverflow.com/questions/62499153
复制相似问题