1)題目:寫出正則表達(dá)式,從一個字符串中提取鏈接地址。比如下面字符串中
"IT面試題博客中包含很多 <a href=http://hi.baidu.com/mianshiti/blog/category/微軟面試題> 微軟面試題 </a> " 則需要提取的地址為 " http://hi.baidu.com/mianshiti/blog/category/微軟面試題 " 我自己寫的答案是:http(s)?://([\w]+\.)+\w+(/\w+)*
在Regex Tester測試通過了,后邊看了作者提供的答案,
python中:
import re
p = re.compile('<a(?: [^>]*)+href=([^ >]*)(?: [^>]*)*>')
content = "IT面試題博客中包含很多 <a href=http://hi.baidu.com/mianshiti/blog/category/微軟面試題> 微軟面試題 </a> "
p.search(content).groups() 我看不懂,但只拿表達(dá)式<a(?: [^>]*)+href=([^ >]*)(?: [^>]*)*>
在Regex Tester運行的結(jié)果是包含了<a href>。這個真不知道是python特有的還是表達(dá)式漏了什么。
2)題目:驗證電子郵箱地址。
\w+([-.]\w+)*@\w+([-.]\w+)*
"\w+”所代表的就是任何字母與數(shù)字所組成的非空字符串(non-null string)。
(\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*;)* \w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 在《精通正則表達(dá)式-基于.NET/ASP/PHP...》沙金編著
他的正則表達(dá)式:\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
感覺我寫的最好記憶,這些都能通過的,我的@前后表達(dá)式一樣的
在網(wǎng)易注冊郵箱時,@符號前的內(nèi)容有限制:
6~18個字符,包括字母、數(shù)字、下劃線,以字母開頭,字母或數(shù)字結(jié)尾
這樣 \b[a-zA-Z][0-9a-zA-Z_]{4,16}[0-9a-zA-Z]\b
具體可以參考這個pdf
|
|