Python用正则表达式截取中文

2025-04-06 16:13:10
推荐回答(2个)
回答1:

像这样

#!/usr/bin/env python
# coding: utf8
import re
l = [
    '1.1.2.5查',
    '1.2.5询',
    '1.5查询',
    '1.5.3.4.51规则',
    '1.133.2.5询规',
    ]
r = re.compile(r'\d+(\.\d+)*(.*)')
l = [r.match(e).group(2) for e in l]
print(l)

最后打印的就是

['查', '询', '查询', '规则', '询规']

回答2:

你可以取反,先把能找到的比如数字或者字母匹配出来,剩下的就是汉字了了比如\d\.\d+(汉字)。这样你利用分组就能知道里面的汉字是什么了。