0
當我運行這些命令,我得到的輸出是這樣的:這些正則表達式爲什麼不按預期工作?
下面是命令和輸出,以文本形式:
$ cat exte
i
ii
iii
iiii
iiiii
iiiiii
這工作得很好:
$ egrep --color i\{4,5\} exte
iiii
iiiii
iiiiii
我想它應該只顯示一個或兩個「我」的一行顏色,但輸出顏色的一切:
$ egrep --color i\{1,2\} exte
i
ii
iii
iiii
iiiii
iiiiii
同樣,我看不到擴展的正則表達式在這裏工作:
$ egrep --color i? exte
i
ii
iii
iiii
iiiii
iiiiii
$ egrep --color i+ exte
i
ii
iii
iiii
iiiii
iiiiii
使用單詞邊界。 –
Jup,與我{1,2}你得到多個匹配的同一行。所以要麼使用字邊界,要麼使用^ i {1,2} $,所以它也考慮行的開始和結束。 – LukStorms
對於i +和i?的最後兩個例子,這些行包含幾個i,每個匹配一個(非 - 或更多)(?)或(一個或多個)(+),因此一切都是正確的,請解釋一下/爲什麼你期望 –