特定于正则表达式的破折号模式(Python)

特定于正则表达式的破折号模式(Python),python,regex,string,numbers,character,Python,Regex,String,Numbers,Character,我正在尝试创建一个正则表达式,它可以识别字符串中的特定破折号模式 字符串示例:1L34-1A345-12B45-1a或01aB-5432A-0014z-20 说明:四个字符-五个字符-五个字符-两个字符 该字符串包含数字、大小写字符 我提出了下面的模式,它做到了,但我认为它可以表达得简单一点 pattern = '[A-Za-z0-9][A-Za-z0-9][A-Za-z0-9][A-Za-z0-9]-[A-Za-z0-9][A-Za-z0-9][A-Za-z0-9][A-Za-z0-9][A-

我正在尝试创建一个正则表达式,它可以识别字符串中的特定破折号模式

字符串示例:
1L34-1A345-12B45-1a或01aB-5432A-0014z-20

说明:四个字符-五个字符-五个字符-两个字符

该字符串包含数字、大小写字符

我提出了下面的模式,它做到了,但我认为它可以表达得简单一点

pattern = '[A-Za-z0-9][A-Za-z0-9][A-Za-z0-9][A-Za-z0-9]-[A-Za-z0-9][A-Za-z0-9][A-Za-z0-9][A-Za-z0-9][A-Za-z0-9]-[A-Za-z0-9][A-Za-z0-9][A-Za-z0-9][A-Za-z0-9][A-Za-z0-9]-[A-Za-z0-9][A-Za-z0-9]'

有什么想法吗?

的确,你可以将正则表达式简化为

pattern = r'[A-Za-z0-9]{4}-[A-Za-z0-9]{5}-[A-Za-z0-9]{5}-[A-Za-z0-9]{2}'

您甚至可以简化将此
[A-Za-z0-9]
存储在变量中,并使用variable创建regex@Stefan超级的!这正是我想要的。最后,使用变量是个好主意!祝您有个美好的一天!谢谢