【问题标题】:Regex pattern to validate string with multiple conditions使用多个条件验证字符串的正则表达式模式
【发布时间】:2018-01-16 09:17:52
【问题描述】:

我正在尝试编写一个正则表达式模式,通过满足一些要求来验证字符串,但我相信我必须将条件应用于捕获组,即使在查看文章后我也不完全理解。

我希望粗略地确认一个字符串在其末尾具有有效的文件类型,例如filename.png.

使用类似于上面的字符串我想:

  • 匹配字符串中最后一个句号后的子字符串
  • 检查此子字符串是否仅由字母和数字组成
  • 检查长度是否小于或等于 5 个字符

我找到了这篇文章,How to limit a regex capturing group?,但不知道如何将它结合到我的模式中。

目前我有/\.[^.]*(a-zA-Z0-9)*$/g,它适用于file.name.png,但不满足任何其他条件,我不知道我应该在哪里定位{0,5}

我将如何隔离子字符串并将后两个条件应用于它?

【问题讨论】:

    标签: javascript regex capturing-group


    【解决方案1】:

    你可以拿

    /\.[a-z0-9]{0,5}$/i
    

    寻找

    • 一个点
    • 最多五个字母或数字
    • 字符串结束
    • 不区分大小写的搜索

    【讨论】:

      【解决方案2】:

      /\.[0-9a-zA-Z]{0,5}$/怎么样

      这将匹配文字 . 后跟最多 5 个字母或数字。

      【讨论】:

      • 你确定它在量词的第一部分没有数字就可以工作。 standard 没有提到它。也请看here
      • @NinaScholz 非常正确,PCRE 确实支持这一点,但 JS 不支持,哎呀。更新答案!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-10-10
      • 2019-10-17
      • 2014-09-15
      • 2018-01-31
      • 1970-01-01
      相关资源
      最近更新 更多