1. 程式人生 > >3.8 ()在正則表示式中的應用

3.8 ()在正則表示式中的應用

# 按照正則進行完整的匹配但是結果只顯示分組的內容
f = re.findall('qq(abc)ww','abcdadkgabcddqqabcwwkgjabckggjabcy')
print(f)
# 按照正則進行完整的匹配,但是結果集中儲存分組資訊組成的元組
f = re.findall('qq(abc)(ww)','abcdadkgabcddqqabcwwkgjabckggjabcy')
print(f)
# ()的作用滿足上面的所有的規律
f = re.findall('(qq(abc)(ww))','abcdadkgabcddqqabcwwkgjabckggjabcy')
print(f)
#
f = re.findall('a(hello|world)c','abcdadkgabcdahellocaworldcdqqabcwwkgjabckggjabcy')
print(f)
#
f = re.findall('(a(hello|world)c)','abcdadkgabcdahellocaworldcdqqabcwwkgjabckggjabcy')
print(f)

# split 按照正則規則進行切割 可以指定切割次數
c = re.compile(r'\d')
s = '正則其實不難1但是學完之後2發現寫不出來3是這丫的'
ret = c.split(s,2)
print(ret)

# 替換為指定的內容, 可以指定替換的次數
c = re.compile(r'\d')
ret = c.sub(' ',' hao1are2you',2)
print(ret)
#轉義問題 所有正則語法中涉及的字元都需要轉義
c = re.compile(r'\\d')
s = c.search('\d')
if s:
    print(s.group())
# 在匹配的字串中有特殊意義的字元也需要進行轉義
# 若不想轉義最好在前面新增'r'
c = re.compile(r'\\b')
s = c.search(r'\b')
if s:
    print(s.group())

c = re.compile(r'\bhello')
s = c.search('hellosdkgf')
if s:
    print(s.group())