f = open("兼職模特空姐****")
phone_list =
for line in f:
name,region,height,weight,phone = line.split()
if phone.startswith("1"):
print(phone_list)
import re
phone_list = re.findall("[0-9]",f.read())
print(phone_list)
re的匹配語法有以下幾種
re.match 從頭開始匹配 (第乙個沒找到就返回none)
re.search 匹配包含(找到乙個就不往下找了)
re.findall 把所有匹配到的字元放到以列表中的元素返回
re.split 以匹配到的字元當做列表分隔符
re.sub 匹配字元並替換
re.fullmatch 全部匹配
驗證手機號是否合法
# phone_pat = re.compile('^(13\d|14[5|7]|15\d|166|17[3|6|7]|18\d)\d$')
phone_pat = re.compile('^1[3-5]\d$')
while true:
phone = input('請輸入您的手機號:')
res = re.search(phone_pat, phone)
if res:
print('正常手機號')
else:
print('不是手機號')
常用的表示式規則
'.' 預設匹配除\n之外的任意乙個字元,若指定flag dotall,則匹配任意字元,包括換行
'^' 匹配字元開頭,若指定flags multiline,這種也可以匹配上(r"^a","\nabc\neee",flags=re.multiline)
'$' 匹配字元結尾, 若指定flags multiline ,re.search('foo.$','foo1\nfoo2\n',re.multiline).group() 會匹配到foo1
'*' 匹配*號前的字元0次或多次, re.search('a*','aaaabac') 結果'aaaa'
'+' 匹配前乙個字元1次或多次,re.findall("ab+","ab+cd+abb+bba") 結果['ab', 'abb']
'?' 匹配前乙個字元1次或0次 ,re.search('b?','alex').group() 匹配b 0次
'' 匹配前乙個字元m次 ,re.search('b','alexbbbs').group() 匹配到'bbb'
'' 匹配前乙個字元n到m次,re.findall("ab","abb abc abbcbbb") 結果'abb', 'ab', 'abb']
'|' 匹配|左或|右的字元,re.search("abc|abc","abcbabccd").group() 結果'abc'
'(...)' 分組匹配, re.search("(abc)a(123|45)", "abcabca456c").group() 結果為'abcabca45'
'\a' 只從字元開頭匹配,re.search("\aabc","alexabc") 是匹配不到的,相當於re.match('abc',"alexabc") 或^
'\z' 匹配字元結尾,同$
'\d' 匹配數字0-9
'\d' 匹配非數字
'\w' 匹配[a-za-z0-9]
'\w' 匹配非[a-za-z0-9]
's' 匹配空白字元、\t、\n、\r , re.search("\s+","ab\tc1\n3").group() 結果 '\t'
'(?p...)' 分組匹配 re.search("(?p[0-9])(?p[0-9])(?p[0-9]
正規表示式 正規表示式 總結
非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...
正規表示式 表示式
網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...
Linux正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...