PythonStudyNotes 正規表示式

2021-08-21 17:11:27 字數 1564 閱讀 2704

正規表示式:一種用來匹配字串的工具,根據不同型別的字串,有不同的描述性語言來定義。

以下是部分描述性語言對應的匹配型別:

精確匹配:

\w:匹配乙個字母或數字(word);

\d:匹配乙個數字(digit);

.:匹配任意字元;

\s:匹配乙個空格,也包括tab等空白符;

如要匹配多個字元,在後面加如下**:

*:表示任意個字元(包括0個)

+:表示至少乙個字元

?:表示0個或1個字元

:表示n個字元

:表示n--m個字元

例:匹配```'123-963210'```型別的**號

a :```\d\-\d``` 其中因為```-```是特殊字元,所以用```\```進行轉義

[ ]的運用,可以用來表示範圍,比如:

注意:python字串中的特殊符號要用\進行轉義。

要輸出'aa\bb' --- 'aa\bb'=>'aa�bb' ✖ ;'aa\bb'=>'aa\bb' ✔;

re模組的運用

三個函式的運用

split(分割):

# 以s為界分割字串

import re # 呼叫re模組

a = ('boysgirlsgreat')

b = re.split(r's', a)

print(b)

# ['boy', 'girl', 'great']

compile(可以實現更有效率的匹配,因為使用compile完成一次轉換之後,在每次使用模式的時候就不用重複轉換,從而提高效率):

# 舉乙個簡單的例子,在尋找乙個字串中所有的英文本元:

import re

pattern = re.compile('[a-za-z]')

result = pattern.findall('as3siopdj#@23awe')

print result

# ['a', 's', 's', 'i', 'o', 'p', 'd', 'j', 'a', 'w', 'e']

findall(尋找所有符合條件的字元):

# 找出所有的數字

import re

a = re.compile('\d')

b = a.findall('sd2esds43asd')

print(b)

# ['2', '4', '3']

總結參考

python正則 python正則表達

正規表示式是一種用來匹配字串的強有力的 設計思想是用一種描述性的語言來給字串定義乙個規則,凡是符合規則的字串,就認為它 匹配 否則就不匹配。一 可以通過幾類符號設計限定規則,常用的思想如下 匹配除換行符以外的任意字元 w匹配字母 數字 下劃線或漢字 w匹配字母 數字 下劃線或漢字以外的字元 s匹配任...

數字正則表達

驗證數字 0 9 驗證n位的數字 d 驗證至少n位數字 d 驗證m n位的數字 d 驗證零和非零開頭的數字 0 1 9 0 9 驗證有兩位小數的正實數 0 9 0 9 驗證有1 3位小數的正實數 0 9 0 9 驗證非零的正整數 1 9 0 9 驗證非零的負整數 1 9 0 9 驗證非負整數 正整數...

正則表達試

d 匹配非負整數 正整數 0 0 9 1 9 0 9 匹配正整數 d 0 匹配非正整數 負整數 0 0 9 1 9 0 9 匹配負整數 d 匹配整數 d d 匹配非負浮點數 正浮點數 0 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 匹配正浮點數 d d 0...