可能重复:
Regex to match 4 groups of letters/numbers, separated by hyphens
提前道歉。我昨天问了这个问题,但没有一个答案可靠。我这次会试着更清楚地解释一下......
我需要一个符合以下内容的正则表达式:
066B-E77B-CE41-4279
每组4个4个字符的组,用连字符分隔。字符可以是a-z和0-9,大小写无关紧要。
谢谢。
答案 0 :(得分:3)
这样的东西?
\w{4}-\w{4}-\w{4}-\w{4}
该匹配也强调,如果您需要更具体,可以使用:
[A-Za-z0-9]{4}-[A-Za-z0-9]{4}-[A-Za-z0-9]{4}-[A-Za-z0-9]{4}
等等。
答案 1 :(得分:2)
使用分组功能:
/([a-z0-9]{4}-){3}[a-z0-9]{4}/i
答案 2 :(得分:1)
重要的是模式锚定在字符串的开头和结尾
^[A-Za-z0-9]{4}(?:-[A-Za-z0-9]{4}){3}$
如果没有以^
和$
为基础,那么之前或之前可以有任何内容,模式无论如何都会返回true。
稍短一点
^(?i)[A-Z0-9]{4}(?:-[A-Z0-9]{4}){3}$
(?i)
使其忽略大小写,此语法应适用于大多数正则表达式引擎。
答案 3 :(得分:0)
^[a-zA-Z0-9]{4}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{4}$