首页 > 解决方案 > 正则表达式输入验证

问题描述

我正在尝试将 REGEX 表达式放在一起来验证以下格式:

"XXX/XXX","XXX/XXX","XXX/XXX"

whereX可以是字母、数字、破折号或下划线。到目前为止我得到的是

"(.*?)(\/)(.*?)"(?:,|$)/g

但它似乎不起作用

更新:可能有任意数量的“XXX/XXX”字符串,以逗号分隔,而不仅仅是 3

标签: regex

解决方案


您可以尝试以下正则表达式:

"([\w-]+)\/([\w-]+)"

编辑:正则表达式解释:

  • ([\w-]+)在方括号中我们说我们要匹配\w:匹配任何单词字符(等于[a-zA-Z0-9_])。在此之后,我们有“ -”,它只是将符号“ -”添加到匹配的符号中。
  • " +" 表示我们想要前一个块中的一个或多个符号:[\w-]
  • \/直接匹配符号“ /”。它应该在正则表达式中转义,这就是为什么它前面有“ \
  • ([\w-]+)与第 1 点完全一样,匹配相同的东西,因为这两个部分是相同的。
  • ()- 这些括号标记捕获组,稍后您可以在代码中使用它来获取它包围和匹配的值。例子:

全场比赛:1X-/-XX

第一组:1X-

第 2 组:-XX

这是一个带有匹配案例的演示 -点击。如果这不起作用,请在评论中告诉我。


推荐阅读