如何用REGEXP函数提取混乱文本中的身份证号码?

哪位大神用过,如何用REGEXP函数提取混乱文本中的身份证号码?

试了一下=REGEXP(A1,"/d{18}"),报错呢

河北省
浏览 218
收藏
9
分享
9 +1
5
+1
全部评论 5
 
吴林
百度搜的身份证正则表达式 \d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)
· 广东省
回复
 
Tam Kingsley
Tam Kingsley

创作者俱乐部成员

身份证的正则表达式比较复杂,按照最新规则身份证位数为18位即:6位(地址码)+4位(年份)+2位(月份)+2位(日数)+3位(顺序号)+1位(验证码),所以针对这种我们可以简单的写写 地址码:[1-9]\d{5} 年份:\d{4} 月份:((0[1-9])|(10|11|12)) 日数:(([0-2][1-9])|10|20|30|31) 顺序号:\d{3} 验证码:[0-9Xx] 将它们组合起来就是:REGEXP(原始字符串,"^[1-9]\d{5}\d{4}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$") PS.在身份证标准里还存在旧的身份证号码是15位的,这种可能在旧数据里会出现~
· 广东省
1
回复
 
龙逸凡
不太完善的公式=REGEXP(A1,"\d{17}[\dXx]")
· 重庆
回复
 
N Stalker
搞定了,WPS公式复制是万万不能的,必须输入才不会出错。
· 河北省
回复
wils
wils

创作者俱乐部成员

斜杠写错了,而且结尾可能是x
· 海南省
回复