求一url地址解析的正则表达式

tcmis 2016-04-02 11:01:32
url的格式为:
localhost/p/pcmy
http://localhost/p/pcmy
http://localhost/p/pcmy/
http://localhost/p/pcmy/item/4dd6557d7342bf0695b0f6881b38ee383efdeab8

我想提取出pcmy这几个字符,当然这几个字符的长度是变化的,而且url的格式是如上所示, 我用如下的正则, PHP写法,
$pattern = '/.*\/p\/(.*)\/?.*/i';
$replacement = '$1';
var_dump(preg_replace($pattern, $replacement, $fullUrl));

上面的4种地址替换结果为:
pcmy
pcmy
pcmy/
pcmy/item/4dd6557d7342bf0695b0f6881b38ee383efdeab8
前面两种正确,因为后面没有任何字符,后面两种url,替换错误,因为后面有字符就未替换,请指教,谢谢。
...全文
348 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
tcmis 2016-04-07
  • 打赏
  • 举报
回复
xzy21com兄弟的正确, 谢谢
qeosnake 2016-04-05
  • 打赏
  • 举报
回复
试下这个: /.*\/p\/(.*?)\/?.*/i
scscms太阳光 2016-04-05
  • 打赏
  • 举报
回复
应该写 /.*\/p\/([^/]+).*/i
tcmis 2016-04-02
  • 打赏
  • 举报
回复
楼上兄弟, 你这个和我的效果一样啊。
天际的海浪 2016-04-02
  • 打赏
  • 举报
回复
$pattern = '/.*\/p\/([^\/]*)/i';

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧