python正则表达式问题?

pattern=r'^(http)(s)?/{2}[a-z0-9A-Z]+\.(whu.edu.cn)(/[a-z0-9])*(\.[a-z]*)$'http://sim... pattern=r'^(http)(s)?/{2}[a-z0-9A-Z]+\.(whu.edu.cn)(/[a-z0-9])*(\.[a-z]*)$'
http://sim.whu.edu.cn/info/1043/6421.htm

为什么pattern和网址匹配不上呢?怎么才能让它俩配上呢?谢谢大神
展开
 我来答
百度网友023b1c3
科技发烧友

2020-04-29 · 智能家居/数码/手机/智能家电产品都懂点
知道小有建树答主
回答量:1086
采纳率:84%
帮助的人:286万
展开全部

题主你好,

代码及测试截图如下:

写在最后: 如果你光是匹配这一个网址,直接" .* "不就完事了嘛,所以题主肯定还有上下文的, 你要把上下文都说清楚了, 才好更精确的去写这个正则表达式

希望可以帮到题主, 欢迎追问

更多追问追答
追问
谢谢你!原题目是这样的:
判断一个给定的字符串是否是一个武汉大学官方的URL地址。
例如,下面的URL是官方地址:
- http://sim.whu.edu.cn/info/1043/6421.htm
- https://www.whu.edu.cn/jgsz/yxsz.htm
- https://www.lib.whu.edu.cn/web/dzzy/index.asp

下面的URL不是官方地址:
- http://www.yggk.net/d/whu/
- http://www.whuzcb.org.cn
- http://www.whuedu.org.cn
- http://www.whu.org
- http://www.whu.edu/
追答

如果是这个的话,其实不用那么麻烦,我们通过观察发现, 凡是符合条件的URL都有一个特征就是都含有:

而不符合条件的则没有该特征,所以我们完全可以利用该特征去写:

*.当然啊,还是那句话,这个正则只针对本道题来说

欢迎继续追问

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式