>>> s = 'one1two2three3four4'
>>> pattern = re.compile(r'\d+')
>>> for v in pattern.split(s):
... print(v)
...one
twothree
four
pattern = re.compile(r'\d+')
for match in pattern.findall('one1two2three3four4'):
print(match)
pattern = re.compile(r'\d+')
for index,match in enumerate(pattern.finditer('one1two2three3four4')):
print(index,'--->',match.group())
>>> pattern = re.compile(r'([a-za-z]+)(\d)([bcd])',0)
>>> match = re.match(pattern,s)
>>> if match:
... for m in match.groups():
... print(m)
## 這裡是可以返回 234 的, 而把 search 替換為 match 則會報錯
import re
>>> s = 'abc234bdli23243afsdf'
>>> p1 = re.compile('(\d+)')
>>> match1 = re.search(p1,s)
>>> for m in match1.groups():
... print(m)
>>> s = 'ab c d e'
>>> str_list = re.split('\s+',s)
>>> for str in str_list:
... print(str)
...abcd
e
>>> email = '[email protected]'
>>> pattern = re.compile('([\w]+)(\.?)([\w]+)@([\w\.]+)')
>>> match = re.match(pattern,email)
>>> print(match.groups())
('bill', '.', 'gates', 'microsoft.com')
# [email protected] => tom paris
# [email protected] => bob
# -*- coding: utf-8 -*-
import re
def name_of_email(addr):
pattern = re.compile(r'<?([a-za-z\s]+)>?.*@[\w\.]+')
match = re.match(pattern,addr)
rs = none
if match:
rs = match.group(1)
return rs
print(name_of_email('[email protected]'))
# 測試:
assert name_of_email('[email protected]') == 'tom paris'
assert name_of_email('[email protected]') == 'tom'
print('ok')
import re
key = r"
"#這段是你要匹配的文字
p1 = r"(?<=)"#這是我們寫的正規表示式規則,你現在可以不理解啥意思
pattern1 = re.compile(p1)#我們在編譯這段正規表示式
matcher1 = re.search(pattern1,key)#在源文字中搜尋符合正規表示式的部分
print(matcher1.group(0))#列印出來
import re
key = r""
pattern = re.compile(r'(?<=).*?(?=)') # 綜合理解
match = re.search(pattern,key)
if match:
print(match.group(0))
import re
txt = 'abc13975041239ljlboou'
phone_pattern = re.compile(r'1[39|38|58]\d')
grp = re.findall(phone_pattern,txt)
grp2 = phone_pattern.findall(txt)
print(grp)
print(grp2)
import re
txt = 'abc13975041239ljlboou'
phone_pattern = re.compile(r'1[39|38|58]\d')
grp = re.findall(phone_pattern,txt)
grp2 = phone_pattern.findall(txt)
grp3 = phone_pattern.search(txt)
grp4 = phone_pattern.finditer(txt)
print(grp)
print(grp2)
print(grp3.group(0))
grp5 = [g for g in grp4]
print(grp5)
import re
contactinfo = 'doe, john: 555-1212'
pattern = re.compile(r'(?p[a-za-z]+),\s+(?p\w+):\s+([\d-]+)')
match = pattern.match(contactinfo)
if match:
print(match.group())
print(match.group(1))
print(match.group(2))
print(match.group(3))
僅起到分組 取別名作用 ?p
import re
contactinfo = 'doe, john: 555-1212'
pattern = re.compile(r'(?p[a-za-z]+),\s+(?p\w+):\s+(?p[\d-]+)')
match = pattern.match(contactinfo)
if match:
print(match.group())
print(match.group('first'))
print(match.group('second'))
print(match.group('phone'))
>>> contactinfo = 'doe, john: 555-1212'
>>> pattern = r'(?p\w+),\s+(?p\w+):\s+(?p[\d-]+)'
>>> match = re.match(pattern,contactinfo)
>>> match.groups()
('doe', 'john', '555-1212')
>>> pattern = r'([a-za-z]+),\s+([a-za-z]+):\s+([\d-]+)'
>>> match = re.match(pattern,contactinfo)
>>> match.groups()
('doe', 'john', '555-1212')
python正規表示式元字元 正規表示式
字元 描述將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個 向後引用 或乙個八進位制轉義符。例如,n 匹配字元 n n 匹配乙個換行符。序列 匹配 而 則匹配 匹配輸入字串的開始位置。如果設定了 regexp 物件的 multiline 屬性,也匹配 n 或 r 之後的位置。匹配輸入字串的結束...
python正規表示式及使用正規表示式的例子
正規表示式 正則表達用來匹配字串 正規表示式匹配過程 正規表示式語法規則 匹配除換行 n 外的任意字串 abcabc 轉義字元,使後乙個字元改變原來的意思 a c a c 字符集,對應的位置可以是字符集中任意字元,字符集中的字元可以逐個列出,也可以給出範圍,如 abc 或 a c 第乙個字元如果是 ...
Python 正規表示式
1.在python中,所有和正規表示式相關的功能都包含在re模組中。2.字元 表示 字串的末尾 如 road 則表示 只有當 road 出現在乙個字串的尾部時才會匹配。3.字元 表示 字元中的開始 如 road 則表示 只有當 road 出現在乙個字串的頭部時才會匹配。4.利用re.sub函式對字串...