有没有办法编写一个能够识别 .ts 文件扩展名的JavaScript正则表达式:
"file.ts"
但是会失败:
"file.vue.ts"
我需要的是,如果文件名以 .vue.ts 结尾,则不应将其作为 .ts 文件处理。
我尝试了很多事情但没有成功。
更新:它需要是一个正则表达式,因为这是我传递给函数参数的内容。
答案 0 :(得分:3)
你可以寻找前一个点,如果没有,则返回true
。
console.log(["file.ts", "file.vue.ts"].map(s => /^[^.]+\.ts$/.test(s)));
答案 1 :(得分:2)
正则表达式为two
^[^.]+.ts$

说明: -
var x=/^[^.]+.ts$/;
console.log(x.test("file.ts"));
console.log(x.test("file.vue.ts"));
console.log(x.test("file.vue.ts1"));
答案 2 :(得分:1)
除特殊字符外,这将有效。允许使用大写字母,小写字母,数字,下划线和短划线:
^[a-zA-Z0-9\_\-]+(\.ts)$
答案 3 :(得分:1)
const regex = /(.*[^.vue]).ts/g;
abc.ts.ts Matches
abc.xyx.htm.ts Matches
abc.vue.ts Fails
xyz.abx.sxc.vue.ts Fails
Javascript正则表达式应该就是这个。