Regex 如何编写正则表达式来匹配重复字符串并指定重复数?

Regex 如何编写正则表达式来匹配重复字符串并指定重复数?,regex,Regex,例如,我想匹配文本文件中的字符串“abcabc”,其中两个(并且只有两个)“abc”连接在一起,并且“abcabc”的前面和结尾没有字符 如果我使用grep-n'(abc){2}测试,它不起作用 grep -n '\(abc\)\{2\}' TEST 如您的描述所示,如果您想在一行中单独匹配字符串abcabc,请使用: grep -n '^\(abc\)\{2\}$' TEST 逃避父母的约束: grep -n '\(abc\)\{2\}' TEST 如您的描述所示,如果您想在一行中单独匹

例如,我想匹配文本文件中的字符串“abcabc”,其中两个(并且只有两个)“abc”连接在一起,并且“abcabc”的前面和结尾没有字符

如果我使用grep-n'(abc){2}测试,它不起作用

grep -n '\(abc\)\{2\}' TEST
如您的描述所示,如果您想在一行中单独匹配字符串
abcabc
,请使用:

grep -n '^\(abc\)\{2\}$' TEST
逃避父母的约束:

grep -n '\(abc\)\{2\}' TEST
如您的描述所示,如果您想在一行中单独匹配字符串
abcabc
,请使用:

grep -n '^\(abc\)\{2\}$' TEST

这是最短的选择:

^abcabc$

这是最短的选择:

^abcabc$
尝试:

尝试:

检查这个是否合适

$ grep '\<abcabc\>'
test
abcabc
abcabc
test abcabc
test abcabc
testabcabc
$grep'\'
测试
abcabc
abcabc
测试abcabc
测试abcabc
测试ABC
检查这是否合适

$ grep '\<abcabc\>'
test
abcabc
abcabc
test abcabc
test abcabc
testabcabc
$grep'\'
测试
abcabc
abcabc
测试abcabc
测试abcabc
测试ABC

谢谢各位,从你们的回答中,我想我已经得到了我所需要的

正如我在问题中所说的,我想匹配“
abcabc
”,其中2个字符并且只重复“
abc
”,前面和后面没有其他字符,但“
abcabc
”不是该行中的唯一字符串

因此,答案是:

grep -n "\b\\(abc\\)\\{2\\}\b" filename

谢谢各位,从你们的回答中,我想我已经得到了我所需要的

正如我在问题中所说的,我想匹配“
abcabc
”,其中2个字符并且只重复“
abc
”,前面和后面没有其他字符,但“
abcabc
”不是该行中的唯一字符串

因此,答案是:

grep -n "\b\\(abc\\)\\{2\\}\b" filename

只有当这是行中唯一的字符串时,这才匹配,这取决于“abcabc”前面和结尾没有字符”的含义。布拉姆,同意!依我看,如果Allen想匹配“字符串'abcabc'…并且前面和后面都没有字符”,那应该是文件中唯一的东西,因为一个文件等于一个字符串(我知道,我的答案不是这样的)。这只匹配行中唯一的字符串,这有点取决于“abcabc”前面和结尾没有角色”的意思。布拉姆,同意!依我看,如果Allen想匹配“字符串‘abcabc’……并且前面和后面都没有字符”,那应该是文件中唯一的内容,因为一个文件等于一个字符串(我知道,我的答案不是这样的)。