例如,我想在文本文件中匹配字符串「abcabc」,其中兩個(且只有兩個)「abc」連接在一起,並且「abcabc」前面和末尾沒有字符?如何寫正則表達式來匹配重複的字符串並指定重複的數字?
,如果我使用grep -n '(ABC){2}' 測試,這是行不通的
例如,我想在文本文件中匹配字符串「abcabc」,其中兩個(且只有兩個)「abc」連接在一起,並且「abcabc」前面和末尾沒有字符?如何寫正則表達式來匹配重複的字符串並指定重複的數字?
,如果我使用grep -n '(ABC){2}' 測試,這是行不通的
逃離parentesis:
grep -n '\(abc\)\{2\}' TEST
,如果你想在字符串abcabc
單獨匹配上行,因爲你的描述似乎表明,使用:
grep -n '^\(abc\)\{2\}$' TEST
這是最短的選擇:
^abcabc$
嘗試:
egrep '\b(abc){2}\b' input
檢查這符合。
$ grep '\<abcabc\>'
test
abcabc
abcabc
test abcabc
test abcabc
testabcabc
感謝球員,從你的答案,我想我得到了我需要的東西。
正如我在我的問題說,我想匹配「abcabc
」,其中2只,並在年底前反覆「abc
」,沒有其他字符,但「abcabc
」不是唯一的字符串那條線。
所以答案是:
grep -n "\b\\(abc\\)\\{2\\}\b" filename
這隻有當這是上線的唯一字符串匹配,這取決於什麼是「無字符意味着位在前面,在結束「 abcabc「' – Bram
布拉姆,同意!國際海事組織,如果艾倫想匹配「字符串'abcabc'...並且沒有字符在前面和末尾」,那應該是文件中唯一的東西,因爲一個文件等於一個字符串(我知道,這是不是我的答案)。 –