由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 问一道编程面试题:regex匹配文本中的域名
相关主题
报面经 + 求建议 yelp vs groupon SF请教个OPT或H1B和专业匹配的问题。
急问个c++关于map 的问题。面试题的编程实现 (以Python为主)
一道phone面试题感想: 美国人才严重浪费
探讨加请教:我工作中的一道题FP编程就是做面试题
一道面试题的优化问一道编程的面试题
[面试题]unix如何<<一行>>命令给一个文本文件末尾加几个字符Sr. Principal Engineer – Op-Vibe/Shock
问两道Google面试题面试的时候别太谦虚哈……
问一道Google面试题刚刚amazon 2nd phone interview
相关话题的讨论汇总
话题: 域名话题: https话题: ftp话题: 匹配话题: http
进入JobHunting版参与讨论
1 (共1页)
m****v
发帖数: 84
1
用pl写的是 $line =~ m!.*(http|https|ftp)://([a-z0-9\-\.]+)(.*)!i
当时认为第二个匹配组就是域名。很明显,这个写法挂了。。。因为域名不能包含前缀
,比如
xxx.mitbbs.com只能返回mitbbs.com,而yyy.mitbbs.edu.cn返回mitbbs.edu.cn。
求教大家怎么做,谢谢。
r*******e
发帖数: 7583
2
m!.*(http|https|ftp)://(.*?)\.([a-z0-9\-\.]+)(.*)!i
把//和第一个.之间的内容扔到一个单独的group里

【在 m****v 的大作中提到】
: 用pl写的是 $line =~ m!.*(http|https|ftp)://([a-z0-9\-\.]+)(.*)!i
: 当时认为第二个匹配组就是域名。很明显,这个写法挂了。。。因为域名不能包含前缀
: ,比如
: xxx.mitbbs.com只能返回mitbbs.com,而yyy.mitbbs.edu.cn返回mitbbs.edu.cn。
: 求教大家怎么做,谢谢。

m****v
发帖数: 84
3
谢谢,很巧妙的思路。
但如果是aaa.bbb.mitbbs.com这种呢,aaa和bbb都不是域名部分。
还有一种情况就是http://mitbbs.com/xxx用你说的方法好像不对。
是不是应该从后往前匹配比较好。

【在 r*******e 的大作中提到】
: m!.*(http|https|ftp)://(.*?)\.([a-z0-9\-\.]+)(.*)!i
: 把//和第一个.之间的内容扔到一个单独的group里

r*******e
发帖数: 7583
4
你这里说的域名到底是怎么定义的?
顶级域名加上之前的一个字段?

【在 m****v 的大作中提到】
: 谢谢,很巧妙的思路。
: 但如果是aaa.bbb.mitbbs.com这种呢,aaa和bbb都不是域名部分。
: 还有一种情况就是http://mitbbs.com/xxx用你说的方法好像不对。
: 是不是应该从后往前匹配比较好。

p******r
发帖数: 2999
5
m!
(?:(http|https|ftp)://) # protocol
(?:\w+\.)? # optional subdomain
(
(?:\w{2,})
(?:\.[a-z]{3,4}) # com,org,edu etc
(?:\.[a-z]{2})? # optional country code
) # domain name, catch this part only
!xi
enabling /x to comment inline is a good habbit

【在 m****v 的大作中提到】
: 用pl写的是 $line =~ m!.*(http|https|ftp)://([a-z0-9\-\.]+)(.*)!i
: 当时认为第二个匹配组就是域名。很明显,这个写法挂了。。。因为域名不能包含前缀
: ,比如
: xxx.mitbbs.com只能返回mitbbs.com,而yyy.mitbbs.edu.cn返回mitbbs.edu.cn。
: 求教大家怎么做,谢谢。

m****v
发帖数: 84
6

一般来说,应该是顶级域名一个字段,加上前面一个字段,比如说是公司的名字、网站
的名字。加起来
就是xxx.com,yyy.org这种
但是有时候,顶级域名会有两个字段,比如aaa.co.uk,bbb.edu.cn这种

【在 r*******e 的大作中提到】
: 你这里说的域名到底是怎么定义的?
: 顶级域名加上之前的一个字段?

1 (共1页)
进入JobHunting版参与讨论
相关主题
刚刚amazon 2nd phone interview一道面试题的优化
facebook技术第三面面经 + 请前辈们分享一些onsite经验谢谢[面试题]unix如何<<一行>>命令给一个文本文件末尾加几个字符
问个amazon的题,关于url的提取问两道Google面试题
请问一下 regular expression怎么复习啊?问一道Google面试题
报面经 + 求建议 yelp vs groupon SF请教个OPT或H1B和专业匹配的问题。
急问个c++关于map 的问题。面试题的编程实现 (以Python为主)
一道phone面试题感想: 美国人才严重浪费
探讨加请教:我工作中的一道题FP编程就是做面试题
相关话题的讨论汇总
话题: 域名话题: https话题: ftp话题: 匹配话题: http