Regex 驾驶执照问题

Regex 驾驶执照问题,regex,siebel,Regex,Siebel,我有佛罗里达州的驾照,如A123-123-12-123-1和A123456789321。现在我用下面的表达式来显示我的数据,如XXXX-XXX-XX-XX1231。 ([\s,:])([a-zA-Z)\d{12}|([a-zA-Z)\d{3}[\s{1}-]\d{2}[\s{1}-]\d{3}[\s{1}-]\d{1}([\s,:]) 请让我知道如何使用上述表达式删除expresson中的所有空格,并显示如上所述的格式 谢谢似乎输入和输出不匹配,例如 A123-123-12-123-1 XXXX

我有佛罗里达州的驾照,如A123-123-12-123-1和A123456789321。现在我用下面的表达式来显示我的数据,如XXXX-XXX-XX-XX1231。 ([\s,:])([a-zA-Z)\d{12}|([a-zA-Z)\d{3}[\s{1}-]\d{2}[\s{1}-]\d{3}[\s{1}-]\d{1}([\s,:])

请让我知道如何使用上述表达式删除expresson中的所有空格,并显示如上所述的格式


谢谢

似乎输入和输出不匹配,例如

A123-123-12-123-1
XXXX-XXX-XX-XX1231
所需输出中有两个额外字符(忽略破折号)。 因此,假设您希望通过重复“12”使输出更长,例如

代码如下:

regex = /(?:[\s.,:])([a-zA-Z)(\d{3})[\s-]?(\d{3})[\s-]?(\d{2})[\s-]?(\d{2})(\d{1})[\s-]?(\d{1})(?:[\s.,:])/
fixed = licence.replace(regex, "$1$2-$3-$4-$5$5$6$7")
您可以尝试这个正则表达式
([\s,:])(?:[a-zA-Z]\d{8}(\d{4})|[a-zA-Z]\d{3}[\s{1}-]\d{3}[\s{1}-]\d{2}[\s{1}-](\d{3})[\s{1}-](\d{1}-])([\d{xxxx s,:])”,然后用
regex = /(?:[\s.,:])([a-zA-Z)(\d{3})[\s-]?(\d{3})[\s-]?(\d{2})[\s-]?(\d{2})(\d{1})[\s-]?(\d{1})(?:[\s.,:])/
fixed = licence.replace(regex, "$1$2-$3-$4-$5$5$6$7")