我有很多文件名的模式是SURENAME__notalwaysmiddlename_firstnames_1230123Abc123-16x_notalways.pdf
,例如:
SMITH_John_001322Cde444-16v_HA.pdf
FLORRICK-DOILE_Debora_Alicia_321333Gef213-16p.pdf
ROBINSON-SMITH_Maria-Louise_321333Gef213-16p_GH.pdf
我以前的regex是([\w]*)_([\w-\w]+)\.\w+
,但在切换到Python并获得第一个双筒姓氏(甚至是名字)之后,我无法运行它。你知道吗
使用旧正则表达式,我有两组:
SMITH_James
001322Cde444-16v_HA
但是现在我不知道如何用re
实现这一点,甚至不知道如何在组1中包含偶尔的双筒名称,在组2中包含ID。你知道吗
([A-Z-]+)(?:_([A-z-]+))?_([A-z-]+)_(\d.*)\.
此模式将返回姓氏、可能的中间名、名字和最终字符串。你知道吗
([A-Z-]+)
返回一个大写单词,该单词也可以包含-
(?:_([A-z-]+))?
返回前面有_
的单词的0或1个匹配项。(?:
使_
无法捕获([A-z-]+)
返回也可以包含-
的单词(\d.*)
返回以数字开头的字符串\.
在文件类型之前找到转义的句点相关问题 更多 >
编程相关推荐