2019獨角獸企業重金招聘python工程師標準》
剛剛寫正規表示式,又犯了個小錯,想想中間相隔時間一長,每次寫正則的時候都會被各種小問題坑一把,所以決定被坑一次記錄一次。
今天的小問題所是()和
我想寫乙個或的表示式,用來判斷是否是這幾個詞語中的乙個。於是一開始用[ ],發現結果都是一些單個的字被匹配。當時腦子抽了,就沒往括號上想,以為是裡面的每個詞語都需要被括起來,發現沒用。
[震驚|憤怒|悲傷|感動|喜悅|幸福|無聊|可笑]
把最外面的改稱()就可以了。
(震驚|憤怒|悲傷|感動|喜悅|幸福|無聊|可笑)
想想看之所以手賤犯了這樣錯誤,並且沒有在第一時間反應過來,還是沒iyou理解的意義。
所謂方括號,意思是這裡面的所有各自字元構成的集合。如[abcd]就是乙個字母,它將從乙個集合中取出。
所以[ab|cd|ef]的意思是有這樣的乙個4元素集合,然後在裡面取乙個元素
如果我加上括號,[[ab]|[cd]|[ef]]其實是乙個只有乙個元素的集合也就是,但事實是這樣嗎?不是當存在,且用|符號連線時,最後乙個|的後面的整個部分會被忽略,即使最後的這部分本身沒有。是不是很繞?但是我也沒有想好解釋的方法,姑且當作乙個規律先記住吧。有誰知道原因請在評注裡指點,謝謝。
我將我測試的例子留在這裡:
例子1:
測試文字
ab
efgh
cd
正規表示式
[[ab]|[cd]|[ef]|[gh]]
或
[[ab]|[cd]|[ef]|gh]
結果都是:
共找到 6 處匹配:ab
efcd
例子2:
測試文字
ab
efgh
cd
正規表示式
[ab|cd|ef|gh]
結果都是:
共找到 8 處匹配:ab
efgh
cd
最後正確的例子也給出:
正規表示式
(ab|cd|ef|gh)
結果都是:
共找到 4 處匹配:
abef
ghcd
誰能幫我解釋一下例子1的原因!!!!!!謝謝!!! 乙個正規表示式的例子
需求 通過.net的正則 上面3個都得到 aa 並對語句稍微講解一下。謝謝。http w 這個是我寫的。不知道怎麼加上或者匹配www 還有?這個什麼意思查不到。解決 i 匹配模式,表示忽略大小寫,在.net中等價於在後面加regexoptions.ignorecase引數 http www 肯定逆序...
乙個奇怪的正規表示式
昨天,我在做網路爬蟲的時候,遇到了乙個 對文字框的輸入作了編碼處理 具體作了什麼樣的處理,前面幾句用了js的replace方法,替換了一些特殊符號,後面用了乙個正規表示式進行了特殊的編碼工作。我當時的文字 acm task force on k 12 education and technology...
乙個新人理解正規表示式
知識點 1 表單驗證 針對於 非空驗證 去空格 非空驗證是什麼呢,就是說 當我輸入乙個賬號的時候不能輸入乙個空格就完事了,乙個空格或者多個空格絕對不是賬號,我們接收乙個賬號的時候首先要做的就是把他的前後空格給去掉,然後判斷一下他是不是空的,如果是空的那麼就提示他輸入有誤。對比驗證 跟乙個值對比 就是...