regex 为6位的PIN码写正则表达式,印度密码

xzlaal3s  于 2023-08-08  发布在  其他
关注(0)|答案(3)|浏览(113)

我想做一个正则表达式,可以检测印度地址的密码。问题是,在输入完整的地址后,它还需要移动的号码的前6位数字。所以,我想让它在这样一种方式,它应该只检测密码,但没有数字从移动的号码。
我尝试的正则表达式是:

([1-9]{1}[0-9]{5}|[1-9]{1}[0-9]{3}\\s[0-9]{3})

字符串
地址模式为
House No. XXXX, Sector 9, CITY NAME, STATENAME - XXXXXX, Mob. No.- 9999XXXXXX
一个样本:
House No. 322/4, Salah, Sundernagar, Distt. mandi, Himachal Pradesh - 175018(Pincode), Mob. No. - 9999999999

mbzjlibv

mbzjlibv1#

你只需要在正则表达式之前和之后添加\b,这样我们就不会匹配部分数字。\b用于word-Bboundary:
\b[1-9]\d{5}\b
我用\d代替了[0-9],因为它更常见。但是如果你喜欢的话,你可以离开[0-9]
运行中:https://regex101.com/r/XyDm6G/1
如果你想处理pincode格式123 456,那么你可以将regex改为:
\b[1-9]\d{2}\s?\d{3}\b
正在运行:https://regex101.com/r/XyDm6G/2

bis0qfac

bis0qfac2#

用数字替换电话号码

import re
inp='House No. XXXX, Sector 9, CITY NAME, STATENAME - 500050, 090908 Mob. No.- 999XXXXXXX'
pt=re.compile(r'\b(?!0)\d{6}\b')
ma=pt.findall(inp)
print(ma)

字符串
输出量:

['500050']

isr3a4wc

isr3a4wc3#

此正则表达式将只检测PIN码,而不匹配移动的号码中的任何数字。

\b\d{6}\b

字符串
说明:

  • \b:匹配整个单词的模式的单词边界。
  • \d{6}:精确匹配6位数字(密码格式)。

相关问题