我試圖顯示所有電話號碼與兩個不連續的「 - 」在其中。我試過這些表達式:Grep正則表達式
grep '[-]{2}' phones.txt
grep '-{2}' phones.txt
grep '.*[-].+[-].+$' phones.txt
grep '^\d+[-]\d+[-]\d+$' phones.txt
但是都沒有工作。這是我第一次使用正則表達式,我不知道我要去哪裏錯了
我試圖顯示所有電話號碼與兩個不連續的「 - 」在其中。我試過這些表達式:Grep正則表達式
grep '[-]{2}' phones.txt
grep '-{2}' phones.txt
grep '.*[-].+[-].+$' phones.txt
grep '^\d+[-]\d+[-]\d+$' phones.txt
但是都沒有工作。這是我第一次使用正則表達式,我不知道我要去哪裏錯了
你可以嘗試這樣的:
grep '^.*-.*-.*$' phones.txt
這將尋找到-
相鄰且並非如此。 -
也可以在開始或結束。
如果你正在尋找將其限制爲數字,如:
123-555-3456
即。在-
是在「中間」,並通過數字分開,你可以用更嚴格:
grep '[0-9]\+-[0-9]\+-[0-9]\+' phones.txt
在我的示例phones.txt
:
012-345-678
012-345
012-345-
-012-345
543838--499
--
1-2-3
匹配第二個模式如下:
012-345-678
1-2-3
我在用:grep(GNU grep)2.4.2
非con連續或連續可與(--?)
匹配。這是一個-
字符,其後跟一個-
,它可以存在零次或一次(可選地跟在後面)。
'-'是否彼此相鄰?或者之間可以有其他角色。 – dave
你想要電話號碼包含兩個連續的' - '字符或只有兩個電話號碼的任何地方:即12-34-56應該匹配? – miltonb
你的第二次嘗試尋找一個空格,後跟一個連字符,後跟2個空格。 – Barmar