正規表示式,模組

2022-09-21 06:18:08 字數 3170 閱讀 8283

正規表示式

^[1-9]\d[0-9x]$

​^[1-9]\d[0-9x]$

​^[1-9]\d(\d[0-9x])?$

​^([1-9]\d[0-9x]|[1-9]\d)$​​

貪婪匹配

# 貪婪匹配就是盡可能多的匹配

123script>

​<.*?>

​# 加上?為將貪婪匹配模式轉為非貪婪匹配模式,會匹配盡量短的字串

.*?的用法

​'''

. 是任意字元

* 是取 0 至 無限長度

? 是非貪婪模式。

何在一起就是 取盡量少的任意字元,一般不會這麼單獨寫,他大多用在:

.*?x

​就是取前面任意長度的字元,直到乙個x出現

'''​

re模組

在python中要想試用正規表示式,就要借助於re模組

​import re

​ret = re.findall('a', 'eva egon yuan')  # 返回所有滿足匹配條件的結果,放在列表裡

print(ret) #結果 : ['a', 'a']

​ret = re.search('a', 'eva egon yuan').group()

print(ret) #結果 : 'a'

# 函式會在字串內查詢模式匹配,只到找到第乙個匹配然後返回乙個包含匹配資訊的物件,該物件可以

# 通過呼叫group()方法得到匹配的字串,如果字串沒有匹配,則返回none。

​ret = re.match('a', 'abc').group()  # 同search,不過盡在字串開始處進行匹配

print(ret)

#結果 : 'a'

爬去紅牛官網資料

time模組

time.sleep(3)

time.time() # 秒數

​'''

三種格式:

1. 時間戳

2. 結構化時間

3. 格式化時間

'''

datetime模組

import datetime​​

# print(datetime.datetime.today())

# print(datetime.datetime.now())

# print(datetime.date.today())

res=datetime.datetime.today()

# print(res.year)

# print(res.month)

# print(res.day)

# print(res.hour)

# print(res.second)

# print(res.minute)

# print(res.weekday())

# print(res.isoweekday())

​# 重點 時間差

​# timedelta物件

# 可以對時間進行運算操作

​# 獲得本地日期 年月日

tday = datetime.date.today()

# 定義操作時間 day=7 也就是可以對另乙個時間物件加7天或者減少7點

tdelta = datetime.timedelta(days=3)

​print(tday + tdelta)

​"""

日期物件 = 日期物件 +/- timedelta物件

timedelta物件 = 日期物件 +/- 日期物件

​驗證:

​"""

​# 定義日期物件

# now_date1 = datetime.date.today()

# # 定義timedelta物件

lta = datetime.timedelta(days=6, hours=10, minutes=20, microseconds=1111,weeks=4)

# now_date2 = now_date1 + lta # 日期物件 = 日期物件 +/- timedelta物件

# print(type(now_date2)) #

## print(now_date2)

# lta2 = now_date1 - now_date2 # timedelta物件 = 日期物件 +/- 日期物件

# print(lta2)

​# 小練習 計算舉例今年過生日還有多少天

birthday = datetime.date(2022, 12, 21)

now_date = datetime.date.today()

days = now_date - birthday

​print('生日:{}'.format(birthday))

print('今天的日期:{}'.format(tday))

print('距離生日還有/{}天'.format(days))

​import datetime

​# dt_today = datetime.datetime.today()

# dt_now = datetime.datetime.now()

dt_utcnow = datetime.datetime.utcnow()  # utc時間與我們的北京時間cha ju

print(dt_utcnow)

random模組

def get_code(n=4):

code = ''

for i in range(n):

num = str(random.randint(0, 9))

'''chr:

ord'''

# a-z

upper = chr(random.randint(65, 90))  # a:97

​# a-z

lower = chr(random.randint(97, 122))

​code += random.choice([num, lower, upper])

return code

code = get_code(4)

code1 = get_code(8)

code2 = get_code(10)

print(code)

正規表示式 python re正則模組

python內建模組連線 re d w s 等解釋 快速使用 多行匹配 re.dotall 查詢 findall re.compile findall xml line 0 返回列表 match re.compile match xml line 返回第乙個,不搜尋新行,match group 返回...

re 正規表示式模組

import re 預定義字符集 d 數字 0 9 d 非數字 d s 空白字元 空格 t r n f v s 非空白字元 s w 單詞字元 a za z0 9 w 非單詞字元 w 匹配數量 匹配除換行符以外的任何單個字元 匹配前乙個字元0或無限次 盡可能多的匹配 盡可能少的進行匹配前邊的正規表示式...

正規表示式 re模組

re是python中的正規表示式模組,正則也是每個人程式設計之路上必備的基礎技能。這部落格希望即便從來沒接觸過的人看了也會使用正規表示式字元 含義.匹配除了換行符外的任何字元。可以用re.dotall來設定匹配任何字元,包括換行符 丨a丨b 表示正規表示式匹配a或者b 匹配輸入字串開始的位置,如果設...