中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

做網站設計參考文獻寧德市人社局

做網站設計參考文獻,寧德市人社局,網站建設策劃方案如何寫,工行網站如何做理財風險評估正則表達式基礎 一、初識正則表達式 思考–問題答案在文末 問題1:text1 ‘height:178,weight:168,sid:123456,passwd:9527’,如何快速找出密碼?問題2:text2 ‘他的電話…

正則表達式基礎

一、初識正則表達式

思考–問題答案在文末

  • 問題1:text1 = ‘height:178,weight:168,sid:123456,passwd:9527’,如何快速找出密碼?
  • 問題2:text2 = ‘他的電話是18812345678x,他的生日是20000908,他愛好的數字是01234567891,他的座機是:0571-52152166’,如何快速匹配座機?
  • 問題3:text3 = ‘1234567@qq.com’ ,如何檢測郵箱格式是否正確?

Q1:什么是正則表達式?

正則表達式是對字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個“規(guī)則字符串”,這個“規(guī)則字符串”用來表達對字符串的一種過濾邏輯。

Q2:他有什么用處?

  1. 判斷給定的字符串是否符合正則表達式的過濾邏輯(驗證):(驗證:登錄信息、手機號、郵箱地址)
  2. 可以通過正則表達式,從字符串中獲取我們想要的特定部分(匹配)

常見匹配字符

符號描述
.匹配處換行符\n之外任意1個字符
[]匹配[]中任意一個
\d一個0-9數字
\D匹配非數字
\w匹配單詞字符:a-z、A-Z、0-9
\W匹配非單詞字符
\s匹配空格、tab健
\S匹配非空格,tab健

常用的匹配規(guī)則-匹配字符數量

  • 匹配前一個字符出現0次或者無數次

  • 匹配前一個字符出現1次或者無數次

符號描述
?匹配前一個字符出現0次或者1次
{m}匹配前一個字符出現m次
{m,}匹配前一個字符出現至少m次
{n,m}匹配前一個字符出現n-m次
^匹配字符串開頭
$匹配字符串結尾
|
(ab)將括號中字符作為一個分組

二、 python正則表達式處理模塊----re

2.1re.match函數----對字符串進行匹配

#re.match()函數,可以對字符進行匹配,查找的位置是從指定的位置開始一直往后找,返回第一個符合規(guī)則的對象,如果開始位置不符合匹配隊形則返回None。而如果從起始位置開始沒有匹配成功,即便其他部分包含需要匹配的內容,re.match()也會返回None。

import re
#基本的語法格式:match(pattern,string,flags=0)
#其中第一個參數是需要進行匹配的內容,第二個參數表示的是一個匹配的字符串,最后一個參數這是一個控制正則表達式的匹配方式,是一個可選的參數,
s1 = 'height:178 weight:168,sid:123456,passwd:9527'
re2 = re.match('[a-zA-Z]+\W\d+\s\w+',s1)
print(re2)s = "python is the bset language"
re1 = re.match('(.*)\s(\w+)\s(\w+)(\s\w+)(\s\w+)',s)
print(re1)
print(re1.group())
print(re1.group(1))
print(re1.group(2))
print(re1.group(3))
print(re1.span())*******************print*********************************
<re.Match object; span=(0, 17), match='height:178 weight'>
<re.Match object; span=(0, 27), match='python is the bset language'>
python is the bset language
python
is
the
(0, 27)

2.2 re.findall()

findall匹配所有返回一個列表,這個方法使用頻率較高。

import re
text = 'height:178,weight:168,sid:123456,passwd:9527'
print(re.findall(r'[a-zA-Z]+',text))
text2 = '12232443@qq.com'
print(re.findall(r'\d{6,10}@qq.com',text2))
text3 = 'syyang2022@163.com'
print(re.findall(r'\w+@\w+.\w{2,3}$',text3))
#print(re.findall(r'^[a-zA-Z-_]+@[a-zA-Z-_]+.[a-zA-Z-_]+',text3))
text4 = '10.10.10.10'
print(re.findall(r'\d{1,3}.\d+.\d+.\d+',text4))
#print(re.findall('\D+',text))*******************print*********************************
['height', 'weight', 'sid', 'passwd']
['12232443@qq.com']
['syyang2022@163.com']
['10.10.10.10']

2.3 re.search方法

re.search 掃描整個字符串并返回第一個成功的匹配。search 在全文中匹配一次,匹配到就返回 函數語法: re.search(pattern, string, flags=0) 示例: 輸出結果: searchObj.group() : Cats are smarter than dogs searchObj.group(1) : Cats searchObj.group(2) : smarter

import re
s = "Cats are smarter than dogs"
re2 = re.search('are',s)
print(re2)
print(re2.group())*******************print*********************************
<re.Match object; span=(5, 8), match='are'>
are

2.4 re.sub()

檢索和替換 re.sub()將匹配到的數據進行替換。 語法:re.sub(pattern, repl, string, count=0, flags=0) 示例: 輸出結果: 電話號碼是: 2019-0101-000 電話號碼是 : 20190101000

import re
s = "python is the bset language"
re2 = re.sub('p','P',s,count=1)
print(re2)s = "2019-0101-000"
re2 = re.sub('-','',s,count=0)
print(re2)*******************print*********************************
Python is the bset language
20190101000

2.5 re.compile

compile 函數用于編譯正則表達式,生成一個正則表達式( Pattern )對象,供其他函數使用,我們常用的正則表達式方法,都已經自帶了compile了。 語法格式為: re.compile(pattern[, flags]) 示例: 輸出結果: None <_sre.SRE_Match object; span=(3, 5), match=‘12’> 12

s1 = 'height:178,weight:168,sid:123456,passwd:9527'
pattern = "\d*"
re2 = re.match(pattern,s1)
print(re2)*******************print*********************************
<re.Match object; span=(0, 0), match=''>

2.6 re.split()

split 方法按照能夠匹配的子串將字符串分割后返回列表,它的使用形式如下: re.split(pattern, string[, maxsplit=0, flags=0]) 示例: 輸出結果: [‘www’, ‘huawei’, ‘com’]

import re
text = 'www.huawei.com'
print(re.split('w',text,))
print(re.split('\.',text))*******************print*********************************
['', '', '', '.hua', 'ei.com']
['www', 'huawei', 'com']

三、寫正則表達式的步驟

我們仍然以包含分機號碼的座機電話號碼為例,比如0571-88776655-9527,演示下面的步驟:

  • 確定模式包含幾個子模式

    它包含3個子模式:0571-88776655-9527。這3個子模式用固定字符連接。

  • 各個部分的字符分類是什么

    這3個子模式都是數字類型,可以用\d?,F在可以寫出模式為:\d-\d-\d

  • 各個子模式如何重復

    第1個子模式重復3到4次,因為有010和021等直轄市

    第2個子模式重復7到8次,有的地區(qū)只有7位電話號碼

    第3個子模式重復3-4次

    加上次數限制后,模式成為:\d{3,4}-\d{7,8}-\d{3,4}

    但有的座機沒有分機號,所以我們用或運算符讓它支持兩者:

    \d{3,4}-\d{7,8}-\d{3,4}|\d{3,4}-\d{7,8}

  • 是否有外部位置限制

    沒有

  • 是否有內部制約關系

    沒有

經過一通分析,最后的正則就寫成了,測試一下:

import re
text = '18812345678是他的手機號,他的身份證號是41188123456780978,他愛好的數字是01234567891,他的座機是:0571-52152166'
print(re.findall(r'^1\d{10}|\d{4}-\d{8}', text))*******************print*********************************
['18812345678', '0571-52152166']

掌握常見匹配符合及規(guī)則就夠日常使用

四、4個問題答案

  • 問題1:text1 = ‘height:178,weight:168,sid:123456,passwd:9527’,如何快速找出4位數字密碼?

    import re
    text1 = 'height:178,weight:168,sid:123456,passwd:9527'
    print(re.findall(r'\d{4}$',text1))*******************print*********************************
    ['9527']
    
  • 問題2:text2 = ‘他的電話是18812345678x,他的生日是20000908,他愛好的數字是01234567891,他的座機是:0571-52152166’,如何快速匹配座機?

    import re
    text2 = '他的電話是18812345678x,他的生日是20000908,他愛好的數字是01234567891,他的座機是:0571-52152166'print(re.findall(r'\d{4}-\d{8}',text2))*******************print*********************************
    ['0571-52152166']
    
  • 問題3:text3 = ‘1234567@qq.com’ ,如何檢測qq郵箱格式是否正確?

    import re
    text3 = '1234567@qq.com' 
    print(re.findall(r'\d{6,10}@\w+.\w{2,3})',text3))*******************print*********************************
    ['1234567@qq.com']
    

日常筆記,共勉

http://www.risenshineclean.com/news/5398.html

相關文章:

  • 房產中介如何做網站小紅書代運營
  • 做網站干什么百度一下網頁版瀏覽器百度
  • 梧州網站建設找資源的關鍵詞有哪些
  • 企業(yè)建設網站的步驟是什么意思sem賬戶托管
  • 深色調網站北京建公司網站價格
  • 裝修設計那個網站好企業(yè)自助建站
  • 網上怎么接單做網站博客
  • 網站添加背影音樂怎么做深圳網絡營銷怎么推廣
  • 網絡營銷的概念和特點商丘搜索引擎優(yōu)化
  • 邢臺地區(qū)網站建設痘痘如何去除效果好
  • 惠陽營銷網站制作免費外鏈生成器
  • 北交所公司企業(yè)債券開市合肥優(yōu)化排名推廣
  • 網站logo做黑頁百度首頁精簡版
  • qq網頁版網址優(yōu)化搜索引擎
  • 2017網站備案抽查站長工具seo診斷
  • 網站限時搶購怎么做網絡服務商在哪咨詢
  • 深圳 電子商務網站開發(fā)青島網站推廣公司排名
  • 網站建設和推廣大概需要多少費用福州seo代理計費
  • 王者榮耀做網站什么軟件可以免費發(fā)廣告
  • 怎么用sharepoint做網站成功營銷十大經典案例
  • 建設電子商務網站目的指數平滑法
  • 營銷型網站建設明細報價表推銷網站
  • 萬網的怎么做網站地圖深圳seo優(yōu)化方案
  • 那個網站做圖片好看電商廣告
  • 項目計劃書ppt模板免費seo網頁推廣
  • 網站建設百度推廣微信營銷的方法和技巧
  • 深圳 網站百度網盤搜索引擎官方入口
  • 帝國軟件怎么做網站常州網絡推廣哪家好
  • 鄭州制作個人網站品牌策劃公司排名
  • c語言 做網站深圳龍崗區(qū)布吉街道