需要一个正则表达式来匹配子字符串n次

时间:2013-08-07 04:24:17

标签: javascript regex

正则表达式.*{n}将匹配任何单个字符n次,但我需要匹配任何单个子字符串 n次。

我该怎么做?

4 个答案:

答案 0 :(得分:7)

要将子字符串“foo”匹配3次(例如“foofoofoo”),您可以使用以下内容:

(foo){3}

或者使用非捕获组:

(?:foo){3}

作为旁注,.*{n}不会按照您的想法行事。 .将匹配任何字符,.*将匹配任意数量的任何字符,.*{n}将根据实现而有所不同,但它将是无效的正则表达式,等同于{{ 1}},或匹配任意数量的任何字符,后跟文字字符串'{n}'。

答案 1 :(得分:5)

尝试

(your sub string here){n}

e.g。

(cats){4}

答案 2 :(得分:3)

尝试

 /(\w+)\1{n-1}/

示例:

"abcbcbca".match(/(\w+)\1{2}/)如果您希望重复bc 3次。

答案 3 :(得分:2)

如果您尝试匹配给定的字符串重复 n 次,请执行(string){n}