Skip to main content
 首页 » 编程设计

python之查找字母、数字或符号组

2025年05月04日13xxx_UU

如何根据子字符串中包含的字符将字符串拆分为子字符串。例如,给定一个字符串 "ABC12345..::",我想得到一个列表,如 ['ABC', '12345', '..::']。我知道每个子字符串的有效字符,但不知道长度。所以字符串也可能看起来像 "CC123:....:",在这种情况下我希望有 ['CC', '123', ':.... :'] 作为结果。

请您参考如下方法:

根据你的例子,你似乎没有任何东西可以分割(例如,C 和 1 之间没有任何东西),但你所拥有的是一个格式良好的您可以匹配的模式。因此,只需简单地创建一个模式,将您想要匹配的字符串分组:

>>> import re 
>>> s = "ABC12345..::" 
>>> re.match('([A-Z]*)([0-9]*)([\.:]*)', s).groups() 
('ABC', '12345', '..::') 

或者,将模式编译成可重用的正则表达式对象并执行此操作:

>>> patt = re.compile('([A-Z]*)([0-9]*)([\.:]*)') 
>>> patt.match(s).groups() 
('ABC', '12345', '..::') 
>>> patt.match("CC123:....:").groups() 
('CC', '123', ':....:')