Skip to main content
 首页 » 编程设计

python之在字符串中查找字母,后面没有数字......可能使用 RE

2025年05月04日23cyq1162

我正在尝试从字符串中提取字母,这些字母后面没有,或者后面没有直接跟数字。

这是一个示例字符串:

string = "ts0060_LOD-70234_lr2_billboards_rgba_over_s3d_lf_v5_2Kdciufa_lnh" 

这是我目前所拥有的:

re.findall(r"[a-z]+", string.lower()) 

结果如下:

['ts', 'lod', 'lr', 'billboards', 'rgba', 'over', 's', 'd', 'lf', 'v', 'kdciufa', 'lnh'] 

...但我正在寻找的结果更像这样:

['lod', 'billboards', 'rgba', 'over', 'lf', 'lnh'] 

是否有使用正则表达式实现此目的的方法?

非常感谢,

请您参考如下方法:

使用负面环视:

re.findall(r"(?<![\da-z])[a-z]+(?![\da-z])", string.lower()) 

这匹配不是紧跟更多字母或数字的小写字母。

演示:

>>> import re 
>>> string = "ts0060_LOD-70234_lr2_billboards_rgba_over_s3d_lf_v5_2Kdciufa_lnh" 
>>> re.findall(r"(?<![\da-z])[a-z]+(?![\da-z])", string.lower()) 
['lod', 'billboards', 'rgba', 'over', 'lf', 'lnh']