提取仅具有重复字符集2-4次的单词
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了提取仅具有重复字符集2-4次的单词相关的知识,希望对你有一定的参考价值。
样本输入:
123123123 aaaaa abababab aaab baaa abcde1abcde1
aaaaaa 1212121212
预期产量:
123123123
abababab
abcde1abcde1
aaaaaa
这是我试过的:
egrep '(.)11{2,4}' test
答案
假设你的grep
版本支持-o
和-w
选项
-o, - only-matching仅打印匹配行的匹配(非空)部分,每个此类部分位于单独的输出行上。
-w, - word-regexp仅选择包含构成整个单词的匹配项的行。测试是匹配的子字符串必须位于行的开头,或者前面是非单词构成字符。同样,它必须位于行的末尾或后跟非单词构成字符。单词构成字符是字母,数字和下划线。
据我所知,egrep
已被弃用,而grep -E
则相同
添加-o
选项到OP的尝试,以及-w
以避免匹配的单词部分
$ grep -owE '(.)11{2,4}' ip.txt
aaaaa
aaaaaa
改变正则表达式
$ grep -owE '(.{1,})1{1,3}' ip.txt
123123123
abababab
abcde1abcde1
aaaaaa
.{1,}
要重复的一个或多个字符1{1,3}
最多4次,所以我们需要再次匹配至少一次,最多再次3次
以上是关于提取仅具有重复字符集2-4次的单词的主要内容,如果未能解决你的问题,请参考以下文章