Javascript 正则表达式匹配和增量文件名(n)

Javascript 正则表达式匹配和增量文件名(n),javascript,regex,Javascript,Regex,我需要编写一个正则表达式,以确保没有文件名冲突 因此,我赋予用户保存为某个名称的能力,然后根据数组检查字符串,如果发生冲突,则遵循Windows保存范例 如果保存test它将另存为test,如果再次尝试保存test,它将变成test(1)。现在我想寻找(1)所以 条件 它总是以(开头,然后是N个0-9个字符,以结尾) 如何使用regex查找(1)或(169) 我不确定我能把这个正则表达式写成的最短字符数。作为辅助正则表达式,我如何拥有相同的正则表达式,但也查找相同的正则表达式,但在()之前有一个

我需要编写一个正则表达式,以确保没有文件名冲突

因此,我赋予用户保存为某个名称的能力,然后根据数组检查字符串,如果发生冲突,则遵循Windows保存范例

如果保存
test
它将另存为
test
,如果再次尝试保存
test
,它将变成
test(1)
。现在我想寻找
(1)
所以

条件

它总是以
开头,然后是N个0-9个字符,以
结尾)

如何使用regex查找
(1)
(169)
我不确定我能把这个正则表达式写成的最短字符数。作为辅助正则表达式,我如何拥有相同的正则表达式,但也查找相同的正则表达式,但在
)之前有一个空格

尝试:

我想到的是
const regEx=RegExp(/(?:\()[0-9*])(?:\)/)
,但是这只适用于
(1)
,而不适用于
(11)
,我不知道如何在

这可能很容易,但我对正则表达式不是很有经验

应/不起作用的字符串示例

// Should work:
test (1)
test (594)
test (54)

// Shouldn't work
test (1
test 594)
test 54

字符串应
空格(一个或多个数字)结束,以便您可以:

\s\((\d+)\)$
\d+
周围的附加括号(捕获组)用于提取数字:

匹配
const sample=`test(0)
测试(12)
测试()
测试(1)
测试1
以空格(123)结束;
sample.split('\n').forEach(文件名=>{
常量m=/\s\(\d+)$/.exec(文件名);
if(m&&m[1]){//if递增,也称为“fileName(n)”
log(m[1]);//在这里使用m[1]字符串执行您的操作
}

});
[0-9]+
,而不是
[0-9*]
…如果包含一些应该匹配的字符串和不应该匹配的字符串的示例,通常会很有帮助。@benvc true,我应该让它更明确、更分段以及更多示例。