正则表达式,匹配模式'1AA11AA111'

Nis*_*ara 0 regex

我刚刚学习了RegEx的基础知识,并提出了以下正则表达式

"^\\d[a-zA-Z]{2}\\d{2}[a-zA-Z]{2}\\d{3}$"
Run Code Online (Sandbox Code Playgroud)

匹配指定的模式.它工作绝对精细.我的问题是,实现同样的其他替代方法是什么?

Pav*_*ngh 6

您可以使用捕获组并反向引用它们

正则表达式演示

(\d)([A-Z])\2\1{2}\2{2}\1{3}
Run Code Online (Sandbox Code Playgroud)

(\d) :捕获一位数

([A-Z]) :捕获单词,长度为1

([A-Z])\2 => \2 :匹配第二个找到的组,找到1次 ([A-Z])

\1{2} :匹配第一个找到的组,1次被发现 (\d)

\2{2} :匹配第二个找到的组,找到2次 ([A-Z])

\1{3} :匹配第一个找到的组,找到3次 (\d)

注意:\1 \2就像赋予群组的身份一样()

更新:捕获特定区分大小写的字符,只需避免不区分大小写的标志即/i或仅捕获特定类型的用法([a-z])([A-Z])哪个更好,因为\w意味着捕获这些a-zA-Z0-9_