我有兩個快速的問題與正則表達式與grep。grep與正則表達式
\?
是什麼意思?我沒有找到問號的解釋(?
)我該如何實現
or
?例如,電話號碼XXX-XXX-XXXX,但第一部分可能是(XXX)
例如,可能有兩個字母,如a1b
和ab
之間的數字或不是如何做那?
謝謝!
我有兩個快速的問題與正則表達式與grep。grep與正則表達式
\?
是什麼意思?我沒有找到問號的解釋(?
)
我該如何實現or
?例如,電話號碼XXX-XXX-XXXX,但第一部分可能是(XXX)
例如,可能有兩個字母,如a1b
和ab
之間的數字或不是如何做那?
謝謝!
?
在正則表達式中有特殊含義。如果你想匹配一個問號,你需要逃避它 - \?
如果你想爲一個字符串都與一個匹配沒有一個特定部分,則使用問號 - /^a1?b$/
將匹配ab
或a1b
。
grep ".*a1\?b.*" files
在gnu grep中,'*'字符不需要反斜槓來作爲一個量詞,但是'''可以。然而,兩端的'。*'是多餘的,因爲grep總是返回找到匹配的整個行。 –
你說得對,我的錯。 – siposa
在grep中,它是另一種方式:round:'?'匹配問號,'\?'是零或一個量詞。除非你使用'-E'選項,那就是。 –