首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用regex或其他技术解析字符串?

如何使用regex或其他技术解析字符串?
EN

Stack Overflow用户
提问于 2016-12-10 02:16:20
回答 2查看 31关注 0票数 0

我需要从以下字符串解析id:

代码语言:javascript
运行
复制
 https://itunes.apple.com/us/album/24k-magic/id1161503945?i=1161504024&uo=2

我只需要返回以下内容:

代码语言:javascript
运行
复制
id1161503945

字符串总是以https://itunes.apple.com/开头,以?i=#####&uo=2结尾。

我尝试了字符串并用通配符替换,但这不起作用。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-12-10 02:56:30

你可以用下面的regex。起作用了。我使用了preg_replace函数。

代码语言:javascript
运行
复制
$data = 'https://itunes.apple.com/us/album/24k-magic/id1161503945?i=1161504024&uo=2';
echo preg_replace("/(.*)\/(\w+)\?(.*)/","$2",$data);

输出是

id1161503945

或者你可以用

代码语言:javascript
运行
复制
 preg_match("/(\/)(\w+)(\?)/",$data,$m);

 echo $m[2];

同样的输出。

希望它能帮到你

票数 1
EN

Stack Overflow用户

发布于 2016-12-10 02:20:05

如果它始终是url中的最后一个元素(在查询params之前),那么您可以使用以下简单的regex:

'/id[^?]+/'

警告:正如@xhienne所指出的,只有当您确信在搜索的部分之前没有出现另一个id字符串时,这才有效。

如果可能发生,可以使用:

'/id[\d]+/'

这样,对于以前的id字符串来说是安全的,但是搜索到的id必须只后面跟着数字。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41071495

复制
相关文章

相似问题

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