我需要過濾所有以字母開頭,後跟零個或多個字母或數字,但沒有特殊字符(基本上可以用於C++變量的名稱)的行。正則表達式Unix shell腳本
egrep '^[a-zA-Z][a-zA-Z0-9]*'
這工作正常的話,如「一」,「AB10」,但它也包括像「b.b」字樣。我明白,表達式的結尾是問題。如果我用+(一個或多個)替換*,它會跳過只包含一個字母的單詞,所以它不起作用。編輯: 我應該更精確。我想找到任意數量的可能單詞的行,如上所述。下面是一個例子:
int = 5;
cout << "hello";
//some comments
在這種情況下,它應該打印所有上面的行的,因爲它們都包括適合所描述的條件,並且線不必開始與字母至少一個詞。
這裏的一個問題是^指的是一行的開始,但是你對任何包含單詞的行感興趣。我建議編輯。 – JXG 2009-11-01 13:35:38