簡單的正規表示式的應用練習,從文字中匹配**號碼和郵箱位址
# coding=gbk
#encoding:utf-8
# -*- coding:gb2312 -*-
import re
import pyperclip
phoneregex = re.compile(r'''( #**號碼的正規表示式
(\d|\(\d\))?
(\s|-|\.)?
(\d)
(\s|-|\.)
(\d)
(\s*(ext|x|ext.)\s*(\d))?
)''',re.verbose )
emailregex = re.compile(r'''( #郵箱位址的正規表示式
[a-za-z0-9._%+-]+
@ [a-za-z0-9.+-]+
(\.[a-za-z])
)''',re.verbose)
text = str(pyperclip.paste()) #從貼上板獲取文字,也可直接開啟文字檔案或其他方式
matches =
for groups in phoneregex.findall(text):
phonenum = '-'.join([groups[1],groups[3],groups[5]]) #按照統一格式顯示:***-***-***x
if groups[8] != '':
phonenum += ' x'+groups[8]
for groups in emailregex.findall(text): #郵箱位址全部加入matches
if len(matches)>0:
pyperclip.copy('\n'.join(matches))
print('copied to cilpboard:')
print('\n'.join(matches))
else :
print('no phone numbers or email address found.')
利用正規表示式匹配IP位址
grep 根據模式搜尋文字,並將符合模式的文字行顯示出來.pattern 文字字元和正規表示式的元字元組合而成匹配條件 grep optinons pattern file.i 忽略 color 模式顯示顏色 v 取反,顯示沒有被模式匹配到的行 o 只顯示被模式匹配到的字串本身 正規表示式 元字元 ...
正規表示式 匹配
字串 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 均不匹配 解法 首先要想到用遞迴處理...