当前位置: 首页 > 知识库问答 >
问题:

正则表达式来验证更大格式的可选部分

叶文博
2023-03-14

一般格式为:

YYYY/MM/DD/INFO
  • 只有分隔符/是必需的

以下是有效字符串:

2020/06/25/XYZConf
2020///XYZConf
2020//25/XYZConf
2020/06//XYZConf
//25/XYZConf
///

我真的很难想出一个正则表达式来验证可选部分,同时保持整个字符串的完整性。

你怎么写这个正则表达式?

PS:这需要是一个正则表达式,因为它将是不接受任何其他内容的第三方lexer的一部分。

相关岗位:

  • 正则表达式验证带有可选小数部分的逗号分隔数字
  • 与有效日期输入的每个阶段匹配的日期的正则表达式

共有1个答案

欧阳意蕴
2023-03-14

你可以尝试以下方法:

^(?:\d{4})?\/(?:(?:\d\d)?\/){2}(?:[A-Za-z\s-]+)?$

查看在线演示

我相信您正在寻找可选(非)捕获组。上述模式符合:

  • ^-开始字符串ancor
  • (?:-打开第一个非捕获组。
    • \d{4}-匹配4位数字
    • -关闭第一个非捕获组并将其设置为可选
    • (?:-打开第三个非捕获组。

 类似资料:
  • 在我的rails应用程序中,我想验证包含任意数量关键字的字符串字段上的输入(可以是多个自然语言单词(例如“文档编号”)。为了识别各个关键字,我输入它们,以“,”分隔(或以字符串结尾获取它们的结尾)。 为此我用 它应该允许属性关键字(字符串)包含:“word1、word2、word3 word4、word5-word6” 它不允许使用任何其他模式。e、 g.非“word1;word2;”它确实错误地

  • 主要内容:标签属性,JSF验证整数范围实例标签用于将字符串值验证为所需格式。 以下代码显示如何使用标记。 标签属性 属性 说明 pattern 格式化模式 JSF验证整数范围实例 打开 NetBeans IDE 创建一个Web工程:ValidateRegularExpression,其目录结构如下所示 - 创建以下文件代码,文件:index.xhtml 的代码内容如下所示 - 文件:result.xhtml 的代码内容如下所示 - 文件:

  • 我有以下用于javascript密码验证的正则表达式: 正则表达式规则是: 12-25个字符 至少有一个大写字母 至少有一个小写字母 至少有一个数字 至少有一个特殊字符:!#$%()*,-./:;=?@[]^ `{124;}~ 然而,正则表达式似乎不起作用。它匹配任何字符。我该怎么解决这个问题?

  • 我使用这个正则表达式: 要匹配这样的字符串: 分为4组: 问:我如何使第一个组可选,使结果组是一个空字符串? 我想在每种情况下得到4组,如果可能的话。 这种情况下的输入字符串:(第一组后面没有下划线)

  • 问题内容: 我需要使用正则表达式验证格式的日期字符串。 此正则表达式验证,但无效日期无效,例如: 什么是在年支持下验证格式的有效正则表达式? 问题答案: 您粘贴的正则表达式无法正确验证leap年,但同一篇文章中有。我修改了它采取,或。 我在Arun在他的答案 以及此处提供的链接中对其进行了一些测试,它似乎有效。 编辑2019年2月14日:我删除了正则表达式中的逗号,该逗号允许日期如下 29-0,-

  • 本文向大家介绍js正则表达式验证大全(收集),包括了js正则表达式验证大全(收集)的使用技巧和注意事项,需要的朋友参考一下 引用网址  http://hi.baidu.com/quiteuniverse/blog/item/9f3f043d46ad1e07bba16716.html 以下函数调用方式:    HTML代码:   ************************** /// 判断输入