javascript - 正则表达式扩展和语言

标签 javascript php jquery regex

我正在研究验证一些文件名。但无法找出正确的正则表达式 文件名可以任意,但需要检查文件名是否以

结尾
  1. _ 下划线
  2. en 或 ru 或 cy(国家代码 2 个字母)
  3. >。 (点)
  4. 扩展名(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/

相关文章:

javascript - Materialise 不支持 React、Webpacka。 jQuery 未扩展

php - 从不同的列值中查找最大列值

Jquery & CSS 定位绝对居中

javascript - 具有使用 Jquery 的特定 CSS 属性的元素的目标元素

javascript - 我怎样才能捕捉到专注于隐藏物体的尝试?

php - 在 PHP 中的日期格式之间转换给出错误

php - 多对多关系。如何连接表格?

javascript - 为什么自动高度不适用于图像?

javascript - 如何动态绑定(bind)ajax数据中的jquery静态数据

javascript - 为什么我的计算器得到未定义的结果?