正则表达式字符重复 n 次或多次符合 grep
Regex character repeats n or more times in line with grep
我需要使用 grep 找到正则表达式来找到重复 4 次或更多次的字符。
我知道表达式是 {n,},所以如果我需要查找行,例如,当字符 "g" 重复 4 次或更多次时,理论上 grep 手册页是:
grep "g{4,}" textsamplefile
但是不起作用。有帮助吗?
该字符可以有其他字母。例如,有效匹配为:
g示例gofg有效g匹配g
gotherg有效g匹配g是g这里g
gggg其他
您应该更改您的 grep
命令:
grep -E 'g{4,}' input_file # --> this will extract only the lines containing chains of 4 or more g
如果您想获取包含 4 个或更多相同字符链的所有行,您的正则表达式将变为:
grep -E '(.){3,}' input_file
如果您不需要链条,而只需要 g
出现 4 次或更多次的行:
grep -E '([^g]*g){4}' input_file
您可以 泛化 任何重复 4 次或更多次的字符:
grep -E '(.)(.*){3}' input_file
我需要使用 grep 找到正则表达式来找到重复 4 次或更多次的字符。
我知道表达式是 {n,},所以如果我需要查找行,例如,当字符 "g" 重复 4 次或更多次时,理论上 grep 手册页是:
grep "g{4,}" textsamplefile
但是不起作用。有帮助吗?
该字符可以有其他字母。例如,有效匹配为:
g示例gofg有效g匹配g
gotherg有效g匹配g是g这里g
gggg其他
您应该更改您的 grep
命令:
grep -E 'g{4,}' input_file # --> this will extract only the lines containing chains of 4 or more g
如果您想获取包含 4 个或更多相同字符链的所有行,您的正则表达式将变为:
grep -E '(.){3,}' input_file
如果您不需要链条,而只需要 g
出现 4 次或更多次的行:
grep -E '([^g]*g){4}' input_file
您可以 泛化 任何重复 4 次或更多次的字符:
grep -E '(.)(.*){3}' input_file