字元
解釋x
字元x
可代表任意合法的字元
\uhhhh
十六進製制值0xhhhh
表示的unicode
字元
\t
製表符(\u0009
)
\n
換行符(\u000a
)
\r
回車符(\u000d
)
\f
換頁符(\u000c
)
\a
報警(bell)符(\u0007
)
\e
escape符(\u001b
)
\cx
x
對應的控制符。例如,\cm
匹配ctrl+m
。x
必須是a-z
或a-z
之一
$
匹配字串的結尾。如果要匹配$
字元本身,要使用\$
^
匹配字串的開頭。如果要匹配^
字元本身,要使用\^
.
能夠匹配除換行符 \n 以外的任意單個字元。
\w
與單個字母數字字元匹配。
\w
與單個非字母數字字元匹配。
\d
與單個數字匹配。
\d
與單個非數字匹配。
\s
與單個空白字元(空格,換行符,返回符,製表符,**)匹配。
\s
與任何非空格字元匹配。
()
被括起來的表示式部分將作為分組,並返回相匹配的文字。
[..]
匹配方括號中..
表達的字元。
[^..]
匹配方括號中..
表達以外的任何字元。比如,\u4e00-\u9fa5
表示所有中文字元,[^\u4e00-\u9fa5]
就可以表示匹配所有非中文本元。
.*[/]$
匹配以/
結尾的字串。
.*[^/]$
匹配不以/
結尾的字串。
匹配前乙個字元的出現次數在 m 至 n 次之間。
a|b
匹配 a 或 b。
?
匹配前乙個字元出現次數0 或 1。
+
模式前乙個字元出現1 次或多次。
*
模式前乙個字元出現0 次或多次。
\
轉義字元,通常用於將一些被占用成為正則表達的符號還原為原來的意思,比如\+
表示加號。
在python
中,re
是乙個專業的正規表示式模組,以下是該模組中常用的幾個函式:
函式名描述
re.compile(pattern, flags=0)
編譯正規表示式模式,返回pattern
物件。
re.search(pattern, string, flags=0)
:掃瞄整個字串,並返回字串中第一處匹配pattern
匹配物件,如果未找到匹配項,則返回none
。
re.match(pattern, string, flags=0)
嘗試從字串的開始位置來匹配正規表示式,返回匹配物件,如果沒有找到匹配,則返回none
。
re.findall(pattern, string, flags=0)
掃瞄整個字串,並返回字串中所有匹配pattern
的子串組成的列表
re.finditer(pattern, string, flags=0)
掃瞄整個字串,並返回字串中所有匹配pattern
的子串組成的迭代器
re.fullmatch(pattern, string, flags=0)
要求整個字串能匹配pattern
,並返回匹配物件,如果未找到匹配,則返回none
。
re.sub(pattern, repl, string, count=0, flags=0)
將string
字串中所有匹配pattern
的內 容替換成repl
。count
引數控制最多替換多少次,預設全部替換
re.split(pattern, string, maxsplit=0, flags=0)
使用pattern
對string
進行分割,返回分割得到的子串組成的列表,maxsplit
引數控制最多分割幾次
re.purge()
清除正規表示式快取
re.escape(pattern)
對pattern
中除ascii
字元、數值、下劃線之外的其他字元進行轉義
````
````
在re
模組中常用的有兩種物件:
在python中使用正規表示式,首先需要載入re
模組包:
import re
text_pattern =
"[\u4e00-\u9fa5]*"
text_p = re.
compile
(text_pattern)
text_r = text_p.findall(
"張三住在123號小區。"
)text_r
結果:
[
'張三住在',''
,'',''
,'號小區',''
,'']
text_pattern =
"[^\u4e00-\u9fa5]*"
text_p = re.
compile
(text_pattern)
text_r = text_p.findall(
"張三住在123號小區。"
)text_r
結果:
['',
'','',
'','123',''
,'',''
,'。',''
]
pattern =
"(.*?)"
#中文括號
re.sub(pattern,"",
"張三(法外狂徒)住在123號小區。"
)
結果:
'張三住在123號小區。'
pattern =
"\(.*?\)"
#英文括號
re.sub(pattern,"",
"張三(法外狂徒)住在123號小區。"
)
結果:
'張三住在123號小區。'
正規表示式 匹配
字串 void abtr quint32 ab 表示乙個正規表示式 template class bidirectionaliterator class allocator std allocator sub match bidirectionaliterator class match resul...
正規表示式匹配
請實現乙個函式用來匹配包括 和 的正規表示式。模式中的字元 表示任意乙個字元,而 表示它前面的字元可以出現任意次 包含0次 在本題中,匹配是指字串的所有字元匹配整個模式。例如,字串 aaa 與模式 a.a 和 ab ac a 匹配,但是與 aa.a 和 ab a 均不匹配 解法 首先要想到用遞迴處理...
正規表示式匹配
請實現乙個函式用來匹配包括 和 的正規表示式。模式中的字元 表示任意乙個字元,而 表示它前面的字元可以出現任意次 包含0次 在本題中,匹配是指字串的所有字元匹配整個模式。例如,字串 aaa 與模式 a.a 和 ab ac a 匹配,但是與 aa.a 和 ab a 均不匹配 class solutio...