如何使用负向先行断言匹配末尾不含指定子串的.txt文件
符合要求的单条正则实现
你可以使用如下仅依赖负向先行断言的正则表达式,所有测试用例均可通过:
const regex = /^(?!.*-bad\.txt$).+\.txt$/;
正则逻辑拆解
^锚定字符串起始位置(?!.*-bad\.txt$)负向先行断言:禁止整条字符串以-bad.txt作为结尾,从起始位置就判定后续不会出现任意字符后接-bad.txt收尾的情况.+匹配.txt后缀前至少1个任意字符,保证根文件名非空,直接过滤掉无文件名的.txt场景\.txt$锚定字符串必须以.txt作为后缀收尾
测试验证
代入你提供的测试代码运行,输出结果如下:
✅this-file-bad.txt ✅this-file.txt ✅.txt ✅f.txt
内容的提问来源于stack exchange,提问作者Word Demon
相关产品推荐
相关产品推荐

