大佬们,我想用一条正则表达式在一堆字符串里面去匹配匹配15位、18位、还有最后一个字符为字母的身份证号。那一堆字符串如下:
|_ Potentially risky methods: TRACE
|_http-server-header: /2.4.23 (Win32) OpenSSL/1.0.2j PHP/5.4.45
|_http-title: 403 Forbidden
88/tcp filtered kerberos-sec
135/tcp filtered msrpc
139/tcp filtered netbios-ssn
389/tcp filtered ldap
440923195906209416445/tcp filtered microsoft-ds
Device type: general purpose|media device|router|specialized|WAP440923195906207971
Running (JUST GUESSING): Microsoft Windows 2003|XP|2000 (92%), Microsoft embedde
d (88%), Linksys embedded (87%), AVtech embedded (85%), Apple embedded (85%)
OS CPE: cpe:/o:microsoft:windows_server_2003::sp1 cpe:/o:microsoft:windows_serve
r_2003::sp2 cpe:/o:micr440923195906206717osoft:windows_xp::sp3 cpe::airport_extreme cpe:/o
:microsoft:windows_2000::sp4:server
Aggressive OS guesses: Microsoft Windows Server 2003 SP1 or SP2 (92%), Microsoft
Window 44092319590620907xs XP SP3 or
irmware 3.1) (88%), Linksys BEFSR41 EtherFast router (87%), Microsoft Windows Se
rver 2003 SP2 (87%), AVtech Room Alert 26W environmental monitor (85%), Microsof
t Windows XP SP2 or SP3 (85%), Apple AirPort Extreme WAP (85%), Microsoft Window
s 2000 Server SP4 or Windows XP Professional SP3 (85%), Microsoft Windows 2000 S
P4 (85%)
No exact OS matches for host (test conditions non-ideal).
Network Distance: 15 hops
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows
已知有一条可以匹配18位的正则:
[1-9]d{5}(?:19|20)dd(?:0[1-9]|1[012])(?:0[1-9]|[12]d|3[01])d{4}
会匹配到一下身份证:
440923195906209416
440923195906207971
440923195906206717
但是不会匹配到
44092319590620907x
求各位大佬指点一下怎么改一下这条正则表达式!谢谢!
PS:以上身份证号都是随机生成的身份证号,并非真实身份证号,请熟知。
PS:我想用python去实现···