Python3 正規表示式

2022-05-02 07:51:10 字數 2396 閱讀 9171

網頁格式:

match方法只能從匹配字元的開頭進行匹配,不匹配返回none,匹配返回對應的值

"""

1.match()方法會嘗試從字串的起始位置匹配正規表示式:

如果匹配,就返回匹配成功的結果

如果不匹配,就返回none

"""import

recontent = "

hello 123 4567 world_this is a regex demo

"result = re.match('

^hello\s\d\d\d\s\d\s\w

',content)

#輸出匹配結果

print

(result)

#輸出匹配每一組

print

(result.group())

#輸出匹配的間距定位

print(result.span())

import

recontent = "

hello 123 4567 world_this is a regex demo"#

匹配模式編譯

pattern = re.compile('

^hello\s\d\d\d\s\d\s\w')

result =re.match(pattern,content)

#輸出匹配結果

print

(result)

#輸出匹配每一組

print

(result.group())

#輸出匹配的間距定位

print(result.span())

另一種寫法

search可以根據匹配模式,查詢匹配的乙個,而不是多個,匹配到返回結果,匹配不到返回空

"""

1.上面的match方法是從頭開始匹配,不匹配就會失敗

match適合檢測某個字串是否符合某個正規表示式的規則

2.search可以匹配一組的值

"""import

rehtml ='''

經典老歌列表

'''#

匹配結果

result = re.search('

(.*?)

',html,re.s)

ifresult:

print(result.group(1),result.group(2))

import

rehtml ='''

經典老歌列表

'''pattern = re.compile('

(.*?)

',re.s)

#匹配結果

result =re.search(pattern,html)

ifresult:

print(result.group(1),result.group(2))

另一種寫法

"""

1.finall相當於多個search進行匹配,獲取所有符合匹配的

"""import

rehtml ='''

經典老歌列表

'''#

匹配結果

result = re.findall('

(.*?)

',html,re.s)

ifresult:

print

(result)

import

rehtml ='''

經典老歌列表

'''pattern = re.compile('

(.*?)

',re.s)

#匹配結果

result =re.findall(pattern,html)

ifresult:

print

(result)

另一種寫法

貪婪模式就是在使用匹配符號(.*)的時候,會匹配更多的內容

非貪婪模式就是在匹配符號(.*?),減少最多匹配,防止缺失

正規表示式

xpath

beautifulsoup

pyquery

python3正規表示式

正規表示式,又稱規則表示式。英語 regular expression,在 中常簡寫為regex regexp或re 電腦科學的乙個概念。正規表示式通常被用來檢索 替換那些符合某個模式 規則 的文字。正規表示式是對字串操作的一種邏輯公式,就是用事先定義好的一些特定字元 及這些特定字元的組合,組成乙個...

Python3 正規表示式

常用的匹配模式 正規表示式是乙個特殊的字串行,它能幫助你方便的檢查乙個字串是否與某種模式匹配。re 模組使 python 語言擁有全部的正規表示式功能。re.match函式 re.match 嘗試從字串的起始位置匹配乙個模式,如果不是起始位置匹配成功的話,match 就返回none。re.match...

Python3 正規表示式

正規表示式是乙個特殊的字串行,它能幫助你方便的檢查乙個字串是否與某種模式匹配。python 自1.5版本起增加了re 模組,它提供 perl 風格的正規表示式模式。re 模組使 python 語言擁有全部的正規表示式功能。compile 函式根據乙個模式字串和可選的標誌引數生成乙個正規表示式物件。該...