龙空技术网

python利用正则提取字符串中的手机号

小白2020 173

前言:

眼前我们对“python正则表达式提取数字”可能比较讲究,兄弟们都想要分析一些“python正则表达式提取数字”的相关文章。那么小编在网上收集了一些对于“python正则表达式提取数字””的相关内容,希望看官们能喜欢,朋友们快快来了解一下吧!

需求:利用正则提取字符串中的手机号(假设手机号为1开头的11为数字,要求手机号前后不为数字)

待提取的字符串:str=" 15838477645dfdfdf15887988765dfdf1157990087651fd157385367891fdf15826789876qqq15838545678a"

import restr="15838477645dfdfdf15887988765dfdf1157990087651fd157385367891fdf15826789876qqq15838545678a"#方法一:限制手机号开头,或者手机号前面为非数字,且手机号结尾或者以非数字结尾pattern1="(?:^|[^\d])(1\d{10})(?:$|[^\d])"phone_list1=re.compile(pattern1).findall(str)#结果为:['15838477645', '15887988765', '15826789876', '15838545678']#方法二:利用负向零宽断言,断言手机号前后不能出现数字pattern2="(?<!\d)(1\d{10})(?!\d)"phone_list2=re.compile(pattern2).findall(str)#结果为:['15838477645', '15887988765', '15826789876', '15838545678']

标签: #python正则表达式提取数字