2018-10-23正則表達式作業(yè)

import re

# 1. 寫一個正則表達式判斷一個字符串是否是ip地址
# 規(guī)則:一個ip地址由4個數字組成,每個數字之間用.連接。每個數字的大小是0-255
# 255.189.10.37   正確
# 256.189.89.9    錯誤
#
# str1 = r'[1][0-9][0-9]\.[1][0-9][0-9]\.[1][0-9][0-9]\.[1][0-9][0-9]|[2][0-5][0-5]\.[2][0-5][0-5]\.[2][0-5][0-5]\.[2][0-5][0-5]|[1-9][0-9]\.[1-9][0-9]\.[1-9][0-9]\.[1-9][0-9]|[1-9]\.[0-9]\.[0-9]\.[0-9]'
str1 = r'([1][0-9]{2}|[2][0-5]{2}|[1-9][0-9]|[0-9])\.([1][0-9]{2}|[2][0-5]{2}|[1-9][0-9]|[0-9])\.([1][0-9]{2}|[2][0-5]{2}|[1-9][0-9]|[0-9])\.([1][0-9]{2}|[2][0-5]{2}|[1-9][0-9]|[0-9])'
print(re.fullmatch(str1, '252.2.222.255'))
# 2. 計算一個字符串中所有的數字的和
# 例如:字符串是:‘hello90abc 78sjh12.5qwe2.5’ 結果是90+78+12.5 = 180.5
#
str2 = 'hello90abc 78sjh12.5qe2.5'
def add_num(str):
    add_num = 0
    re_str = r'(\d+\.\d+)|(\d+)'

    num = re.search(re_str, str)
    while num:
        add_num += float(num.group())
        print(num.group())
        str = str[num.end():]
        num = re.search(re_str, str)
    print(add_num)
add_num(str2)
# 3. 驗證輸入的內容只能是漢字

str3 = r'[\u4E00-\u9FA5]+'
print(re.fullmatch(str3, '嗷嗷'))
# 4. 電話號碼的驗證
str4 = r'1[3-7][0-9]{9}'
print(re.fullmatch(str4, '13475869452'))
# 5. 簡單的身份證號的驗證
#

# 二、不定項選擇題
#
# 1.    能夠完全匹配字符串“(010)-62661617”和字符串“01062661617”的正則表達式包括(ab d  )
#
#  A. “\(?\d{3}\)?-?\d{8}”
#  B. “[0-9()-]+”
#  C. “[0-9(-)]*\d*”
#  D. “[(]?\d*[)-]*\d*”
#
# 2.    能夠完全匹配字符串“c:\rapidminer\lib\plugs”的正則表達式包括( bc )
# A. “c:\rapidminer\lib\plugs”
# B. “c:\\rapidminer\\lib\\plugs”
# C. “(?i)C:\\RapidMiner\\Lib\\Plugs”   ?i:將后面的內容的大寫變成小寫
# D. “(?s)C:\\RapidMiner\\Lib\\Plugs”   ?s:單行匹配
#
# 3.    能夠完全匹配字符串“back”和“back-end”的正則表達式包括( a c d )
# A. “\w{4}-\w{3}|\w{4}”    match->back,back-end    fullmatch-> back,back-end
# B. “\w{4}|\w{4}-\w{3}” match-> back, back  fullmatch-> back,back-end
# C. “\S+-\S+|\S+”
# D. “\w*\b-\b\w*|\w*”
#
# 4.    能夠完全匹配字符串“go go”和“kitty kitty”,但不能完全匹配“go kitty”的正則表達式包括( )
# :\1就是重復前面第一個()/組合里面的內容
# :\2就是重復前面第二個()/組合里面的內容
# A. “\b(\w+)\b\s+\1\b”
# B. “\w{2,5}\s*\1”
# C. “(\S+) \s+\1”
# D. “(\S{2,5})\s{1,}\1”
#
# 5.    能夠在字符串中匹配“aab”,而不能匹配“aaab”和“aaaab”的正則表達式包括( b c )
# A. “a*?b”
# B. “a{,2}b”
# C. “aa??b”
# D. “aaa??b”
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 一、編程題 1.寫一個正則表達式判斷一個字符串是否是ip地址規(guī)則:一個ip地址由4個數字組成,每個數字之間用.連接...
    楠木cral閱讀 317評論 0 0
  • 1. 寫一個正則表達式判斷一個字符串是否是ip地址 規(guī)則:一個ip地址由4個數字組成,每個數字之間用.連接。每個數...
    MW演員閱讀 367評論 0 0
  • 二、不定項選擇題 1.能夠完全匹配字符串“(010)-62661617”和字符串“01062661617”的正則表...
    EryangZ閱讀 259評論 0 0
  • 一、正則表達式語法 正則表達式是用匹配或者描述字符串的工具 用處:a. 判斷字符串是否滿足某個條件---判斷輸入的...
    米某人閱讀 388評論 0 0
  • 1.正則表達式語法 正則表達式是用匹配或者描述字符串的工具。 用處:a.判斷字符串是否滿足某個條件---判斷輸入的...
    W_00ee閱讀 249評論 0 0

友情鏈接更多精彩內容