我正在尝试将REGEX表达式放在一起以验证以下格式:
"XXX/XXX","XXX/XXX","XXX/XXX"
其中X
可以是字母,数字,破折号或下划线。我到目前为止所得到的是
"(.*?)(\/)(.*?)"(?:,|$)/g
但它似乎不起作用
更新:可以有任意数量的以逗号分隔的“ XXX / XXX”字符串,而不仅仅是3
答案 0 :(得分:0)
这将完成工作:
"[-\w]+/[-\w]+"(?:,"[-\w]+/[-\w]+")*
说明:
" # quote
[-\w]+ # 1 or more hyphen or word character [a-zA-0-9_]
/ # a slash
[-\w]+ # 1 or more hyphen or word character [a-zA-0-9_]
" # quote
(?: # non capture group
, # a comma
" # quote
[-\w]+ # 1 or more hyphen or word character [a-zA-0-9_]
/ # a slash
[-\w]+ # 1 or more hyphen or word character [a-zA-0-9_]
" # quote
)* # end group, may appear 0 or more times
答案 1 :(得分:0)
您可以尝试以下正则表达式:
"([\w-]+)\/([\w-]+)"
编辑:正则表达式说明:
([\w-]+)
在方括号中,我们说我们要匹配\w
:匹配任何单词字符(等于[a-zA-Z0-9_]
)。此后,我们有了“ -
”,它只是将符号“ -
”添加到匹配的符号中。+
”表示我们想要上一个块中的一个或多个符号:[\w-]
\/
直接与符号“ /
”匹配。应该在正则表达式中将其转义,这就是为什么它前面带有“ \
”的原因([\w-]+)
与第1点完全一样,因为两部分相同,所以它们匹配相同的事物。()
-这些括号标记捕获组,您以后可以在代码中使用它们来获取包围和匹配的值。
示例:完全匹配:1X-/-XX
第1组:1X-
第2组:-XX
这是一个具有匹配案例的演示-click。如果这样做不能解决问题,请在评论中告诉我。
答案 2 :(得分:0)