正規表示式

2021-10-10 12:33:43 字數 2037 閱讀 6807

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正規表示式 編寫正規表示式

為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...