在bash學習正則表達式,我試圖獲取與.com
混亂的正則表達式搜索
首先結束的所有行我所做的:
cat patternNpara.txt | egrep "^[[:alnum:]]+(.com)$"
原因:+
匹配一次或多次出現,所以把它放在alnum
後應該獲取任何數字,單詞或符號的發生,但顯然,這種邏輯是失敗的....
然後,我做到了這一點:(純粹打了嘗試,未施加任何邏輯真的...)和它的工作
cat patternNpara.txt | egrep "^[[:alnum:]].+(.com)$"
什麼困惑我:.
比賽只有單一的發生,那麼,我怎麼得到輸出.. .i的意思是如何真正匹配模式?
問題:什麼[[:alnum:]]+
和[[:alnum:]].+
之間的差(這其中有.
在它)在上述匹配模式和如何其工作???
PS:我要尋找一個可能的解釋......不,嘗試這樣東西... :)
一些測試線的文件patternNpara.txt
這是牽強,因爲輸出!
valid email = [email protected]
invalid email = [email protected]
another invalid = [email protected]
1 : abc,s,[email protected]
2: [email protected]
'+'匹配1個或多個任意字符。所以這個模式匹配一個alnum,然後是一個或者更多的東西。如果你給它'a.b.com',它將不匹配。 – Gene
'「^ [[:alnum:]] +(。com)$」'很好。 – anubhava
@anubhava:其不工作在我machine..please看到相同=> http://i.imgur.com/PkXkA90.png – NoobEditor