python
php正規表示式
\d :匹配乙個數字字元,還可以使用[0-9]
\d :匹配乙個非數字字元,還可以使用[^0-9]
\w :匹配包括下劃線的任何單詞字元,還可以使用[0-9a-za-z_]
\w :匹配任何非單詞字元,還可以使用[^\w]
\s :匹配任何空白字元,space縮寫
\s :匹配任何非空白字元,還可以使用[^\s]
. :匹配除 "\n" 之外的任何單個字元
[\u4e00-\u9fa5] :匹配中文字元中的任一字元
* :匹配前面的子表示式零次或多次,0到多,
+ :匹配前面的子表示式一次或多次,1到多,
? :匹配前面的子表示式零次或一次,0或1,
:匹配確定的n 次
:至少匹配n 次
:最少匹配
n 次且最多匹配m 次
^ :匹配輸入字串的開始位置
$ :匹配輸入字串的結束位置
[a-z] :匹配字元a到字元z之間的任一字元
[a-z] :匹配字元a到字元z之間的任一字元
[0-9] :匹配數字0到9之間的任一數字
[0-9a-z] :匹配數字0到9或字元a到字元z之間的任一字元
[0-9a-za-z] :匹配數字0到9或字元a到字元z或字元a到字元z之間的任一字元
[^a-z] :匹配除字元a到字元z以外的任一字元
[^0-9] :匹配除數字0到9以外的任一字元
選擇匹配符|,匹配左邊或右邊
python
php模組
import re
定義正則模式時,如果想要避免因為轉譯\引起正則錯誤,可以使用轉譯區r''
正則匹配
import如果匹配成功返回乙個物件,匹配失敗返回res
= '010-12345'
(re.match(
r'^\d-\d$'
,s))
none
字串切分
l= 'a b c'
(re.split(
r'\s+'
,l))
l =
'a,b, c ;, d'
(re.split(
r'[\s|,|;]+'
,l))
提取子串
.group(n)
s= '010-12345'
m = re.match(
r'^(\d)-(\d)$',s)
(m.group(0))
(m.group(
1))
group(0)為匹配到的子串
group(1)表示子表示式匹配到的子串
group(2)…
正則匹配預設為貪婪匹配,會匹配盡量多長度
在後面加個
?可以更換為非貪婪模式
獲取所有匹配到的資訊
s= '010-12345,011-12346'
m = re.findall(
r'(\d-\d)',s)
(m)
正規表示式預編譯
s預編譯可以在需要大量重複匹配的時候提高一點效率= '010-12345,011-12346'
pre
= re.compile(
r'(\d-\d)')
(pre.findall(s))
正則替換
text反向引用的時候注意使用轉譯區,否則因為= "jgood is a handsome boy"
(re.sub(
r'(\sis\sa\s)'
, r'-\1-'
, text))
\轉譯的關係會出現錯誤
re.subn()
會返回替換後的字串以及總共的替換次數
正規表示式 8
非列印字元也可以是正規表示式的組成部分。下表列出了表示非列印字元的轉義序列 含義 cx 匹配 x 指示的控制字元。例如,cm 匹配 control m 或回車符。x 的值必須在 a z 或 a z 之間。如果不是這樣,則假定 c 就是 c 字元本身。f換頁符匹配。等效於 x0c 和 cl。n換行符匹...
學習Python Day16 正規表示式
正規表示式是一種工具 一種專門用做字串匹配的工具,能夠在某些情況下能讓字串的處理變得非常簡單。匹配符號 1.普通字元 2.匹配任意乙個字元 3.d 匹配任意乙個數字字元 4.d 匹配任意乙個非數字字元 5.s 匹配任意乙個空白字元 6.s 匹配任意乙個非空白字元 7.w 匹配任意乙個數字 字母或者下...
python day23 正規表示式,RE
一.正規表示式 元字元.匹配出換行符以外的所有字元 w匹配數字 字母 下劃線 s 匹配 空白符 b單詞的末尾 d 匹配數字 w 非 數字 字母 下劃線 d 非數字 s 非空白符 開頭 結尾 字元組 除了字元組中的元素外 量詞 限定符 零或一 n次 p,或更多 n m次 貪婪匹配 盡可能的多匹配結果 ...