我希望从一个字符串中捕获三个子字符串,这些子字符串必须包含以下三个模式:
- 生日(所有数字都是yyyymmdd格式)
- ID号码(以字符开头,后跟数字)
- 全名
如果这三个子字符串模式不可用,则返回无匹配项。
模式示例:
XD079523 ALFRED ROMEO 19830311
ALFRED BETA GAMMA 19830311 AD929523
BETA FERNANDEZ AS079523 19830311
19830311 BETA MAX AS079523
KK079523 19830311 ANGEL MARINA VINES
19830121 BX079523 VINCENT EVERHART
我已经尝试了以下正则表达式:
/(?=.*\b([a-z]{1,2}\d+)\b)(?=.*\b(\d+)\b)(?=.*((?:\b[a-z]+\b\s*)+)).+/mi
测试:https://regex101.com/r/iypQuC/1
使用上述模式,我可以成功捕获生日和身份证号码,但不是姓名的全名。该模式只会捕获全名中的最后一个单词。
对此有什么建议吗?
谢谢。