全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

IP归属甄别会员请立即修改密码
查看: 762|回复: 11
打印 上一主题 下一主题

求一个正则表达 请帮我看看格式对吗 谢谢大家

[复制链接]
跳转到指定楼层
1#
发表于 2020-1-7 12:09:21 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 上善若水 于 2020-1-7 12:11 编辑

/index.php?m=Home&c=agent& 这后面的agent&开始路径会随机变化
用正则表达是不是
/index.php?m=Home&c=agent&*
就是在agent&后面加一个*
推荐
 楼主| 发表于 2020-1-7 12:24:42 | 只看该作者
Mr. 发表于 2020-1-7 12:14
你要匹配完整的 url 还是只要匹配到 /index.php?m=Home&c=agent& 部分?
如果是要完整的,星号肯定不对,换 ...

http://baidu.cn/index.php?m=Home&c=agent& ...............  要匹配这个后面随机变动的
12#
发表于 2020-1-7 13:01:05 | 只看该作者
本帖最后由 chamhaw 于 2020-1-7 13:05 编辑
  1. http://baidu\.cn/index\.php\?m=Home&c=agent.*
复制代码


这样就可以了,正则里,点号表示任意字符,网址里面你是要表达点号本身,问号表示后面的有可能有,也有可能没有,所以Url的前半部分的点号和问号需要加反斜线转义
你写的那个agent后面直接加星号,表示agent最后一个字符有0个或n个,相当于
  1. http://baidu.cn/index.php?m=Home&c=agen
复制代码
  1. http://baidu.cn/index.php?m=Home&c=agentttttttt
复制代码
显然不符合需求

所以要用点号+星号,表示agent后面有0个或n个其他字符
11#
发表于 2020-1-7 12:28:17 | 只看该作者
上善若水 发表于 2020-1-7 12:24
http://baidu.cn/index.php?m=Home&c=agent& ...............  要匹配这个后面随机变动的

没在电脑前了不好打字,用 (.+) 就能匹配到后面部分,后续使用时用 $1 来获得括号里的内容,找个正则的教程看看分组这一块就知道了
10#
 楼主| 发表于 2020-1-7 12:26:40 | 只看该作者
晴晴晴 发表于 2020-1-7 12:25
前面的语法不对 部分语言需要转义处理。自己再琢磨试试把

访问出来以后的路径就是我发的这样的了
9#
发表于 2020-1-7 12:25:43 | 只看该作者
前面的语法不对 部分语言需要转义处理。自己再琢磨试试把
7#
发表于 2020-1-7 12:24:39 | 只看该作者
        匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 \*。
6#
 楼主| 发表于 2020-1-7 12:23:04 | 只看该作者
Mr. 发表于 2020-1-7 12:14
你要匹配完整的 url 还是只要匹配到 /index.php?m=Home&c=agent& 部分?
如果是要完整的,星号肯定不对,换 ...

是匹配完整的URL
比喻
http://baidu.cn/index.php?m=Home&c=agent& 然后&  以后的连接就是随机变动了
官方的举例是这样 http://baidu.cn/Home/agent/  用/隔开的就是 在/* 这样加一个*号 从加星号开始 后面不管多长 多少变化都能通配
5#
发表于 2020-1-7 12:20:22 | 只看该作者
  1. [^\s]+
复制代码

用这个试试呢?
4#
发表于 2020-1-7 12:14:48 | 只看该作者
你要匹配完整的 url 还是只要匹配到 /index.php?m=Home&c=agent& 部分?
如果是要完整的,星号肯定不对,换成 .+  点代表任意字符  加号表示1个字符以上
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2026-1-15 17:20 , Processed in 0.064357 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表