|
1)題目:寫(xiě)出正則表達(dá)式,從一個(gè)字符串中提取鏈接地址。比如下面字符串中
"IT面試題博客中包含很多 <a href=http://hi.baidu.com/mianshiti/blog/category/微軟面試題> 微軟面試題 </a> " 則需要提取的地址為 " http://hi.baidu.com/mianshiti/blog/category/微軟面試題 " 我自己寫(xiě)的答案是:http(s)?://([\w]+\.)+\w+(/\w+)*
在Regex Tester測(cè)試通過(guò)了,后邊看了作者提供的答案,
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運(yùn)行的結(jié)果是包含了<a href>。這個(gè)真不知道是python特有的還是表達(dá)式漏了什么。
2)題目:驗(yàn)證電子郵箱地址。
\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+)*
感覺(jué)我寫(xiě)的最好記憶,這些都能通過(guò)的,我的@前后表達(dá)式一樣的
在網(wǎng)易注冊(cè)郵箱時(shí),@符號(hào)前的內(nèi)容有限制:
6~18個(gè)字符,包括字母、數(shù)字、下劃線,以字母開(kāi)頭,字母或數(shù)字結(jié)尾
這樣 \b[a-zA-Z][0-9a-zA-Z_]{4,16}[0-9a-zA-Z]\b
具體可以參考這個(gè)pdf
|
|
|