1.寫(xiě)一個(gè)正則表達(dá)式判斷一個(gè)字符串是否是ip地址
規(guī)則:一個(gè)ip地址由4個(gè)數(shù)字組成秕衙,每個(gè)數(shù)字之間用.連接愉烙。
每個(gè)數(shù)字的大小是0-255
255.189.10.37 正確
256.189.89.9 錯(cuò)誤
import re
re_str = r'(([0-1]?[0-9]?[0-9]?|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-1]?[0-9]?[0-9]?|[2][0-4][0-9]|[2][5][0-5])'
str1 = input('請(qǐng)輸入正確IP地址:')
print(re.fullmatch(re_str, str1))
2. 計(jì)算一個(gè)字符串中所有的數(shù)字的和
例如:字符串是:‘hello90abc 78sjh12.5’ 結(jié)果是90+78+12.5 = 180.5
import re
str2 = r'hello90abc 78sjh12.5'
result = re.findall('\d{2}\.?\d?', str2)
sum1 = 0
print(result)
for x in result:
sum1 += float(x)
print(sum1)
3. 驗(yàn)證輸入的內(nèi)容只能是漢字
import re
re_str = '[\u4e00-\u9fa5]+'
str1 = input('請(qǐng)輸入漢字:')
result = re.fullmatch(re_str, str1)
print(result)
if not result == None:
print('輸入的是漢字!')
else:
print('輸入錯(cuò)誤,請(qǐng)輸入漢字')
4. 電話號(hào)碼的驗(yàn)證
import re
re_str = r'^1(3|4|5|7|8)\d{9}$'
str1 = input('請(qǐng)輸入電話號(hào)碼:')
re_obj = re.compile(re_str)
result = re_obj.fullmatch(str1)
if result == None:
print('輸入有誤!')
else:
print('正確!')
5. 簡(jiǎn)單的身份證號(hào)的驗(yàn)證
import re
re_str = '^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|' \
'^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$'
str1 = input('請(qǐng)輸入身份證號(hào)碼:')
result = re.fullmatch(re_str, str1)
if result == None:
print('輸入錯(cuò)誤!')
else:
print('輸入正確!')
選擇題:
- ABD 2.BC 3.ABCD 4.ACD 5.BC