```
# -*- coding:utf-8 -*-
import repython
re - Support for regular expressions (RE).
正則表達式是一個特殊的字符序列,它能幫助你方便的檢查一個字符串是否與某種模式匹配。
re 模塊使 Python 語言擁有所有的正則表達式功能。
compile 函數根據一個模式字符串和可選的標誌參數生成一個正則表達式對象,該對象擁有一系列方法用於正則表達式匹配和替換。
re 模塊也提供了與這些方法功能徹底一致的函數,這些函數使用一個模式字符串作爲它們的第一個參數。
```
```
match 正則表達式模式與字符串的開頭匹配.
fullmatch 正則表達式模式與全部字符串匹配
search 在字符串中搜索模式的存在
sub 替換在字符串中找到的模式匹配.
subn 與sub相同,但也返回所作的替換次數
split 按照模式的出現位置分割字符串後返回列表
findall 以列表的形式返回能所有匹配到的子串
finditer 返回一個迭代器,爲每一個匹配產生一個Match對象
compile 將模式編譯爲Pattern對象
purge 清除正則表達式緩存
escape 反斜槓字符串中的全部非字母數字
```
```
'1. 匹配任意單個字符, 換行符\n除外'
pattern01 = re.compile(pattern=r'.', flags=0)
ma01 = re.match(pattern=pattern01,string='hello china!')正則表達式
'2. 匹配任意單個字符, 包括換行符\n'
pattern02 = re.compile(r'.',flags=re.S)
ma02 = re.match(pattern=pattern02, string='\nhello china!', flags=0)express
'3. 匹配指定的字符串 '
pattern03 = re.compile(pattern=r'hello')
ma03 = re.match(pattern=pattern03,string='hello world!')緩存
'4. 匹配任意單個小寫字母 '
pattern04 = re.compile(r'[a-z]')
ma04 = re.match(pattern=pattern04,string='hello world!')函數
'5. 匹配任意單個字母 '
pattern05 = re.compile(r'[a-zA-Z]')
ma05 = re.match(pattern=pattern05,string='Hello World!')code
'6. 匹配任意單個數字'
pattern06 = re.compile(r'[0-9]') or re.compile(r'\d')
ma06 = re.match(pattern06,'2018-10-10')對象
'7. 匹配任意單個字母數字 '
pattern07 = re.compile(r'\w' or r'[a-zA-Z0-9]')
ma07 = re.match(pattern07,'hello world')utf-8
'8. 匹配任意單個非字母數字'
pattern08 = re.compile(r'\W') or re.compile(r'[^\w]')
ma08 = re.match(pattern08,'<hello world>')字符串
'9. 匹配任意單個非數字'
pattern09 = re.compile(r'\D' or r'[^\d]')
ma09 = re.match(pattern09, 'hello world!')string
'10. 匹配任意單個空白字符\t \r \n \f \v 空格'
pattern10 =re.compile(r'\s')
ma10=re.match(pattern10, '\n hello world!')
'11. 匹配任意單個非空白字符'
pattern11 = re.compile(r'\S')
ma11 = re.match(pattern11, 'hello china!')
'12. 匹配特殊字符 . * + ? 等,使用轉義符號/ \ '
pattern12 =re.compile(r'\+')
ma12 = re.match(pattern12, '+*-?hello china!')
'13. 匹配任意字符0次或無限次'
pattern13 = re.compile(r'.*',flags=re.S)
ma13 = re.match(pattern13, 'hello china!')
'14. 匹配任意字母1次或無限次'
pattern14 = re.compile(r'[a-zA-Z]+')
ma14 = re.match(pattern14,'hello world!')
'15. 匹配任意數字0次或1次'
pattern15 = re.compile(r'\d?')
ma15 = re.match(pattern15,'hello china')
'16. 匹配前一個字符m次'
pattern16 = re.compile(r'[a-z]{2}')
ma16 = re.match(pattern16,'hello china')
'17. 匹配前一個字符m-n次'
pattern17 =re.compile(r'[a-z]{2,4}')
ma17 =re.match(pattern17,'hello china')
'18. 非貪婪模式匹配, 儘量的少匹配或不匹配 *? +? ?? {m,n}?'
pattern18 = re.compile(r'\w+?')
ma18 =re.match(pattern18,'hello wolrd')
'19. 匹配模式分組, 使用編號引用'
pattern19 =re.compile(r'<(\w+>)\w+</\1')
ma19 = re.match(pattern19,'<book>python3</book>')
'20.匹配模式分組,並其別名, 用別名引用'
pattern20 = re.compile(r'<(?P<name>\w+>)\w+</(?P=name)')
ma20 = re.match(pattern20,'<book>python3</book>')
'21. 匹配字符串的開頭'
pattern21 = re.compile(r'^[a-zA-z_].*')
ma21 = re.match(pattern21,'sutdent1 = 12')
'22. 匹配字符串的結尾'
pattern22 = re.compile(r'\.com$')
ma22 = re.search(pattern22,'www.test2018.com')
'23. 僅僅匹配字符串開頭 \A''24. 僅僅匹配字符串結尾 \Z'``````'re.I 使匹配對大小寫不敏感''re.L 作本地化識別(locale-aware)匹配''re.M 多行匹配,影響 ^ 和 $''re.S 使 . 匹配包括換行在內的全部字符''re.U 根據Unicode字符集解析字符。這個標誌影響 \w, \W, \b, \B.''re.X 該標誌經過給予你更靈活的格式以便你將正則表達式寫得更易於理解'```