(1)判断一个给定的字符串是否全是一个正浮点数。
import re
while True:
a = input("请输入任意字符串:")
b = "^[1,9]\d*\.\d*$|0\.\d*[1,9]\d*$"
c = re.match(b,a)
if c is None:
print("不是正浮点数")
else:
print("是正浮点数")
#若不是一定要用正则表达式,那这样应该也还不错
while True:
try:
a = float(input("请输入任意字符串:"))
if a > 0:
print("是正浮点数")
else:
print("不是正浮点数")
except ValueError:
print("不是正浮点数")
(2)验证一个给定的字符串是否为合法的密码,规则:长度8-12位,由大、小写字母、数字构成,且必须包含大、小写字母和数字。
import re
while True:
a = input("请输入想要设定的密码:")
b = "^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])[a-zA-Z0-9]{8,12}$"
c = re.match(b,a)
if c is None:
print(a,"不合规")
else:
print(a,"合规")
(3)判断一个给定的字符串是否为末尾为两个数字重复的手机号码(靓号)。
import re
while True:
a = input("请输入手机号:")
b = "^\d{11}"
c = re.match(b,a)
if c is None:
print("请输入一个11位手机号类似05373423299或13764756398")
else:
d = "^[0-9]{9}(00|11|22|33|44|55|66|77|88|99)$"
e = re.search(d,a)
if e is None:
print("不是靓号")
else:
print("是靓号")
(4)判断一个给定的字符串是否是一个身份证号码。
(提示:身份证号码规则:前1、2位数字表示:所在省份的代码;第3、4位数字表示:所在城市的代码;第5、6位数字表示:所在区县的代码;第7-14位数字表示:出生年、月、日;第15、16位数字表示:所在地的派出所的代码;第17位数字表示性别:奇数表示男性,偶数表示女性;第18位数字是校检码。)
f = open("D:/Desktop/sfzdqh.txt","r+")
list_line = []
for i in range(1,3036):
line0 = f.readline()
line = line0[0:5]
list_line.append(line)
str_line = "|".join(list_line)
print(str_line)
f.close()
#这是一个分行写有全部地区号的文件
#这里是预先的准备好所有地区号转化为符合正则表达式的格式
#之所以没和上一个写在一起,是因为写入str实在太慢了,单独先处理好再说吧
import re
while True:
a = input("请输入字符串:")
b = "^(" + str_line + ")[1-9]\d*3((010[1-9]|01[1-2]\d|013[0-1])|(020[1-9]|022[0,9])|(030[1-9]|03[1-2]\d|033[0-1])|(040[1-9]|04[1-2]\d|0430)|(050[1-9]|05[1-2]\d|053[0-1])|(060[1-9]|06[1-2]\d|0630)|(070[1-9]|07[1-2]\d|073[0-1])|(080[1-9]|08[1-2]\d|083[0-1])|(090[1-9]|09[1-2]\d|0930)|(100[1-9]|10[1-2]\d|103[0-1])|(110[1-9]|11[1-2]\d|1130)|(120[1-9]|12[1-2]\d|123[0-1]))\d{3}(\d|X)$"
c = re.match(b,a)
if c is None:
print("不是")
else:
print("是") #尽力了,这个匹配别所有地区号(前六位),正确的月(十二个月)对应正确的天数(每个月允许的正确日期号)(平年闰年实在是不能考虑了),以及识别符的X
(5)判断一个给定的字符串是否是一个武汉大学官方的URL地址。
import re
while True:
a = input("请输入URL地址:")
b = r"^(http:|https:)/{2}([0-9a-z]*\.)*(whu)\.(edu)\.(cn)/[a-z]*"
c = re.match(b,a)
if c is None:
print("不是")
else:
print("是")