我正在研究验证一些文件名。但无法找出正确的正则表达式 文件名可以任意,但需要检查文件名是否以
结尾- _ 下划线
- en 或 ru 或 cy(国家代码 2 个字母)
- >。 (点)
- 扩展名(jpeg、jpg、mp4、png、gif)
so文件
my_file_dummy_name.jpeg - not valid
my_file_dummy_name_en.jpeg - valid
现在我尝试了这个(并且正在工作但也许有更好的解决方案)
/(\_\w.\.\w+)/g
还有一个:
/(\_[a-z]{2}\.[a-z]{3,4})/g
最佳答案
原始正则表达式的问题在于,虽然它会匹配您想要允许的文件名,但它也会匹配您不想要的内容。
例如,下面的正则表达式
/(\_\w{2}\.\w+)/g
将匹配文件 my_file_dummy_name_de.mpeg
,这是一个来自德国的视频文件。显然,我们一开始就不想看这个。
试试这个正则表达式:
_(en|ru|cy)\.(jpeg|jpg|mp4|png|gif)$
此处演示:
Regex101
关于javascript - 正则表达式扩展和语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38635248/