day23 作業 正規表示式

2021-10-08 20:19:04 字數 3049 閱讀 3282

import re
1.1 知識點:# ?!pattern,表示在沒有配到pattern的字串的前提下,再進行後續的正規表示式匹配,後續匹配仍然從被匹配字串的頭開始

1.2 答案:

print

(re.search(

"(?!^[0-9]+$)(?!^[a-za-z]+$)^[0-9a-za-z]$"

,"123asf"

).group())

# 123asf

1.3 解釋:

上述正則的意思為:在匹配(?![0-9]+$)以及(?!^[a-za-z]+$)過後,如果字串成功後在從頭去匹配(?![a-za-z]+$),最終匹配完。

2.1 知識點:# ?=pattern,表示在配到pattern的字串的前提下,再進行後續的正規表示式匹配,後續匹配仍然從被匹配字串的頭開始

2.2 答案:

# while true:

# pwd = input("please your password: ").strip() # 比如輸入:aa3@adf123

# pwd_pattern= re.compile("(?=.*[a-z])(?=.*[a-z])(?=.*[0-9])(?=.*[!@#%&])^([a-za-z0-9!@#%&])$")

# if pwd_pattern.search(pwd) is none:

# print("密碼強度不夠")

# else:

# break

2.3 解釋:

# 上述正規表示式的意思:

#(1)首先是(?=.*[a-z])匹配,.*表示密碼中可以包含多個字元,[a-z]代表密碼中需要包含至少乙個大寫字母,注意一定不要去掉.*寫成(?=[a-z]),那樣表示密碼只能由乙個字元組成,該字元是大寫字母

#(2)其次是(?=.*[a-z])匹配,同上,確保密碼中必須至少有乙個小寫字母

#(3)然後是(?=.*[0-9])匹配,同上,確保密碼中必須至少有乙個數字

#(4)然後是(?=.*[!@#%&])匹配,同上,,確保密碼中必須至少有乙個特殊符號!@#%&

#(5)最後是^([a-za-z0-9!@#%&])$,確保密碼是由[a-za-z0-9!@#%&]字元構成,至少有6位

# print(re.findall("(?:[a-za-z0-9]+)@(?:[0-9a-za-z]+).com","[email protected] ***@qq.com"))
# your_id=input(">>: ").strip()

# print(re.findall("^(?:[0-9])(?:[0-9]|x)$",your_id)) # 17個數字組成,最後乙個字元可以是數字或x

# print(re.findall('^(\d[\d|x])$',your_id))

# print(re.findall("^[0-9a-za-z]$","egonlinh"))
# name=input('>>: ').strip()

# print(re.search(r'[\u4e00-\u9fa5]+',name))

# print(re.findall(r'\d+(?:\.\d+)?', 'sww123kw11.333e2lkd'))
# print(re.findall(r'-\d+', '-12,3,54,-13.11,64,-9'))  # 錯誤答案

# print(re.findall(r'(?!-\d+\.\d+)-\d+', '-12,3,54,-13.11,64,-9')) # 正確答案

# print(re.findall(r'\-?\d+(?:\.\d+)?', '-12.9,3.92,54.11,64,89,-9,-45.2'))
# print(re.findall(r'\-\d+(?:\.\d+)?', '-12.9,3.92,54.11,64,89,-9,-45.2'))
print

(re.findall(r'\d+\.\d+'

,'-12.9,3.92,54.11,64,89,-9,-45.2'

))

msg =

"""中文名 貝拉克·海珊·歐巴馬

外文名 barack hussein obama ii

別名 歐巴馬

性 別 男

國籍 美國

民 族 德裔族

出生地 美國夏威夷州檀香山

出生日期 2023年8月4日

職 業政治家、律師、**

畢業院校 哥倫比亞大學,哈佛大學

信 仰新教

主要成就 2023年伊利諾伊州參議員

主要成就 美國第56屆、57屆** 2023年諾貝爾和平獎獲得者 時代周刊年度風雲人物2008、2011 任期內清除本·拉登

代表作品 《我相信變革》《我父親的夢想》《無畏的希望》

所屬政黨美國民主黨

血 型 ab型

學 院西方學院

妻 子 公尺歇爾·拉沃恩·歐巴馬

"""

#外文名

print

(re.findall(

"外文名 (.*)"

,msg)

)

#出生日期

print

(re.findall(

'出生日期 (\d)年(\d+)月(\d+)日'

,msg)

)

#妻子姓名

print

(re.findall(

'妻 子 (\s+)'

,msg)

)

day 23 re模組 正規表示式

一 正規表示式 元字元 除了換行符外的任意字元 匹配除了換行符意外的任意字元 w 匹配數字,字母,下劃線 s 匹配空白符 b 匹配單詞的末尾 d 匹配數字 w 匹配除了數字,字母,下劃線 d 匹配數字數字 s 匹配除了空白符 開頭 結尾 字元組 除了字元組內的元素外 量詞,也叫限定符 p 次p次或更...

Day16正規表示式作業

1.使用者名稱匹配 要求 1.使用者名稱只能包含數字 字母 下劃線 2.不能以數字開頭 3.度在 6 到 16 位範圍內 re str a za z a za z 0 9 print fullmatch re str,a23456 密碼匹配 要求 1.不能包含 這些特殊符號 2.必須以字母開頭 3....

day16正規表示式作業

1.使用者名稱匹配 要求 1.使用者名稱只能包含數字 字母 下劃線 2.不能以數字開頭 3.度在 6 到 16 位範圍內 1.re str w result fullmatch re str,8 a 2.re str d result fullmatch re str,a22希宇 3 print f...