寫一個正則表達式判斷一個字符串是否是ip地址
規(guī)則:一個ip地址由4個數(shù)字組成,每個數(shù)字之間用.連接。每個數(shù)字的大小是0-255
255.189.10.37 正確
256.189.89.9 錯誤
import re
from re import *
def func():
while True:
ip1 = input('請輸入ip地址:')
re_str = r'((([1-9][0-9])|[0-9]|([1][0-9][0-9])|([2][0-5][0-5]))\.){3}(([1-9][0-9])|[0-9]|([1][0-9][0-9])|([0-2][0-5][0-5]))'
result = re.fullmatch(re_str,str(ip1))
if result:
print('正確')
break
else:
print('不對')
func()
計算一個字符串中所有的數(shù)字的和
例如:字符串是:‘hello90abc 78sjh12.5’ 結(jié)果是90+78+12.5 = 180.5
def func():
while True:
ip1 = input('請輸入字符串:')
num1 = 0
print(findall(r'\d+\.?\d+', ip1))
for str1 in findall(r'\d+\.?\d+', ip1):
num1 += float(str1)
print(num1)
func()
驗證輸入的內(nèi)容只能是漢字
def func():
while True:
ip1 = input('請輸入字符串:')
re_str = r'[\u4e00-\u9fa5]+'
result = re.fullmatch(re_str, ip1)
if result:
print('正確')
break
else:
print('不對')
func()
電話號碼的驗證
def func():
while True:
ip1 = input('請輸入字符串:')
re_str = r'1[0-9]{10}'
result = re.fullmatch(re_str, ip1)
if result:
print('正確')
break
else:
print('不對')
func()