0

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

我怎么做?

4

4 回答 4

7

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

(foo){3}

或与非捕获组:

(?:foo){3}

作为旁注,.*{n}不会做你认为它做的事情。将.匹配任何字符,.*将匹配任意数量的任意字符,并且.*{n}会因实现而异,但它将是无效的正则表达式,等效于.*,或匹配任意数量的任意字符,后跟文字字符串 '{n} '。

于 2013-08-07T04:26:57.037 回答
5

尝试

(your sub string here){n}

例如

(cats){4}
于 2013-08-07T04:27:03.517 回答
3

尝试

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

例子:

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

于 2013-08-07T04:43:37.827 回答
2

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

于 2013-08-07T04:26:20.303 回答