关于python正则表达式

有两行数据,第一行是:+8618888888888,第二行是:18888888888
想使用python的正则表达式去匹配后11位,把这两行数据查出来?


import re
data = ["+8618888888888", "18888888888"]
for item in data:
    match = re.search(r"\d{11}$", item)
    if match:
        print(match.group())

正则表达式\d{11}

你可以使用如下的Python正则表达式来查询:re.findall('\d{11}', '+8618888888888 18888888888'),该正则表达式会返回一个包含两个字符串元素的列表:['18888888888', '18888888888']。

import re

# 定义两行数据
line1 = "+861888888888"
line2 = "18888888888"

# 匹配后11位
pattern = re.compile(r'\d{11}$')
match1 = pattern.search(line1)
match2 = pattern.search(line2)

# 输出结果
print(match1.group())
print(match2.group())

运行上述代码,将会得到输出:

18888888888
18888888888

上述代码使用了正则表达式中的$来匹配字符串的结尾,并使用了\d来匹配数字,{11}来限制匹配11个数字。

需要注意的是,Python中的正则表达式是使用re模块来进行操作的。