国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【正則表達(dá)式上】——03全棧開發(fā)——如桃花來

這篇具有很好參考價(jià)值的文章主要介紹了【正則表達(dá)式上】——03全棧開發(fā)——如桃花來。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

介紹:

  • 正則表達(dá)式是對(duì)字符串操作的一種邏輯公式,就是用事先定義好的一些特殊字符及這些特定字符的組合,組成一個(gè) “規(guī)則字符串”, 這個(gè)“規(guī)則字符串”用來表達(dá)對(duì)字符串的一種邏輯過濾。
  • 非python獨(dú)有
  • python里面是使用re模塊來實(shí)現(xiàn)的,不需要額外進(jìn)行安裝,是python內(nèi)置模塊

常見匹配模式:

模式 描述
\w 匹配字母數(shù)字及下劃線
\W 匹配非字母數(shù)字下劃線
\s 匹配任意空白字符,等價(jià)于 [\t\n\r\f].
\S 匹配任意非空字符
\d 匹配任意數(shù)字,等價(jià)于 [0-9]
\D 匹配任意非數(shù)字
\A 匹配字符串開始
\Z 匹配字符串結(jié)束,如果是存在換行,只匹配到換行前的結(jié)束字符串
\z 匹配字符串結(jié)束
\G 匹配最后匹配完成的位置
\n 匹配一個(gè)換行符
\t 匹配一個(gè)制表符
^ 匹配字符串的開頭
$ 匹配字符串的末尾。
. 匹配任意字符,除了換行符,當(dāng)re.DOTALL標(biāo)記被指定時(shí),則可以匹配包括換行符的任意字符。
[…] 用來表示一組字符,單獨(dú)列出:[amk] 匹配 ‘a(chǎn)’,‘m’或’k’
[^…] 不在[]中的字符:[^abc] 匹配除了a,b,c之外的字符。
* 匹配0個(gè)或多個(gè)的表達(dá)式。
+ 匹配1個(gè)或多個(gè)的表達(dá)式。
? 匹配0個(gè)或1個(gè)由前面的正則表達(dá)式定義的片段,非貪婪方式
{n} 精確匹配n個(gè)前面表達(dá)式。
{n, m} 匹配 n 到 m 次由前面的正則表達(dá)式定義的片段,貪婪方式
a|b 匹配a或b
( ) 匹配括號(hào)內(nèi)的表達(dá)式,也表示一個(gè)組

注 意:

  • .*? 非常常用
  • ^和$表示匹配的位置,一般不含有實(shí)際匹配意義

re.match()方法:

re.match()方法嘗試從字符串的起始位置匹配一個(gè)模式,如果不是起始位置匹配成功的話,match()就返回None

語法:

變量名 = re.match(正則表達(dá)式,待匹配字符串)

常規(guī)匹配:

這種匹配一般比較精確而具體

#舉個(gè)例子:
#導(dǎo)入模塊包
import re 
content = 'Hello 123 456789 World_This is a Regex Demo'  # 準(zhǔn)備好的待匹配字符串
res=re.match('^Hello\s\d\d\d\s\d{6}\s\w{10}.*Demo$', content) 
print(res) # 返回的是一個(gè)匹配對(duì)象
print(res.group())  # .group()獲取匹配內(nèi)容
print(res.span())  # 查看匹配長(zhǎng)度
print(len(content))  # len統(tǒng)計(jì)字符串?dāng)?shù)量

呈現(xiàn)效果:
【正則表達(dá)式上】——03全棧開發(fā)——如桃花來

  • 直接打印返回的是一個(gè)對(duì)象,所以我們要通過group進(jìn)行輸出,group從1開始,沒寫參數(shù)表示全部輸出匹配內(nèi)容。
  • 第二行的意思是,從0開始,長(zhǎng)度為43,計(jì)算規(guī)則(43-0)第二個(gè)參數(shù)減去第一個(gè)參數(shù)就是長(zhǎng)度。

泛匹配:

匹配很寬泛,根據(jù)幾個(gè)關(guān)鍵詞展現(xiàn)匹配的相關(guān)內(nèi)容。

#舉個(gè)例子:
import re
content = 'Hello 123 4567 World_Thixs is a Regex'
result = re.match("He.*?Regex",content)
print(result.group())#獲取匹配內(nèi)容
print(result.span())#獲取匹配長(zhǎng)度

呈現(xiàn)效果:
【正則表達(dá)式上】——03全棧開發(fā)——如桃花來

匹配目標(biāo)-匹配分組:

為了匹配字符串中具體的目標(biāo),可以使用()進(jìn)行分組匹配

#舉個(gè)例子:
import re
content = 'qwe Hello 1234567 World_This is a Regex Demo'
# 在匹配目標(biāo)值的時(shí)候 目標(biāo)值的前后特征一定要給明確(原樣保留)(限定)
result = re.match('qwe\s(\w+)\s(\d{7}).*Demo',content)
print(result.group()) # 獲取匹配內(nèi)容
print(result.group(1)) # 提取第一組表達(dá)式內(nèi)匹配到的字符
print(result.group(2)) # 提取第二組表達(dá)式內(nèi)匹配的字符
  • group的數(shù)從1開始,括號(hào)內(nèi)的數(shù)據(jù)就是分組的數(shù)據(jù)
  • 空格要用\s替換(推薦)
  • +號(hào)表示匹配至少一個(gè),通過\w+把字母串"Hello"匹配掉,通過\d{7}表示匹配七個(gè)任意數(shù)字

貪婪匹配:

盡可能多的去匹配,最大可能匹配多的字符

#舉個(gè)例子:
import re
# 匹配盡可能多的字符
content = 'Hello 1234567 World_This is a Regex Demo'
result = re.match('^He.*(\d+)\s.*Demo$', content)  
print(result)
print(result.group(1)) 

呈現(xiàn)效果:
【正則表達(dá)式上】——03全棧開發(fā)——如桃花來

  • 因?yàn)椴捎玫氖秦澙菲ヅ?,所以它?huì)盡可能多匹配,d+只要求至少一個(gè)數(shù)字,那么貪婪匹配就只會(huì)給它留一個(gè)。

非貪婪匹配:

盡可能少的去匹配

#舉個(gè)例子:
import re
# 匹配盡可能少的字符
content = 'Hello 1234567 World_This is a Regex Demo'
result = re.match('^He.*?(\d+).*Demo$', content)
print(result)
print(result.group(1))

呈現(xiàn)效果:
【正則表達(dá)式上】——03全棧開發(fā)——如桃花來

因?yàn)橐M可能少的去匹配,所以d+直接匹配了七個(gè)數(shù)字,.*? 可以以任意長(zhǎng)度,那么0長(zhǎng)度也可以。文章來源地址http://www.zghlxwxcb.cn/news/detail-433339.html

到了這里,關(guān)于【正則表達(dá)式上】——03全棧開發(fā)——如桃花來的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Qt正則表達(dá)式使用介紹QRegExp、QRegularExpression

    作者:令狐掌門 技術(shù)交流QQ群:675120140 csdn博客:https://mingshiqiang.blog.csdn.net/

    2024年02月03日
    瀏覽(21)
  • Linux系統(tǒng)三劍客之grep和正則表達(dá)式的介紹(一)

    Linux系統(tǒng)三劍客之grep和正則表達(dá)式的介紹(一)

    1.正則表達(dá)式 目錄 1.正則表達(dá)式 1.什么是正則表達(dá)式 ? 2.正則表達(dá)式的使用場(chǎng)景 3.正則表達(dá)式字符表示 4.它們之間的區(qū)別 2.grep命令 作用: 語法: 說明: 選項(xiàng):options 重點(diǎn) 實(shí)例 3.后面的下次再更新。? 1.什么是正則表達(dá)式 ? 一個(gè)正則表達(dá)式就是描述了一個(gè)字符串集合的方式

    2024年01月18日
    瀏覽(109)
  • 軟件測(cè)試/測(cè)試開發(fā)丨Python 內(nèi)置庫(kù) 正則表達(dá)式

    軟件測(cè)試/測(cè)試開發(fā)丨Python 內(nèi)置庫(kù) 正則表達(dá)式

    本文為霍格沃茲測(cè)試開發(fā)學(xué)社學(xué)員學(xué)習(xí)筆記分享 原文鏈接:https://ceshiren.com/t/topic/27058 正則表達(dá)式 使用re模塊實(shí)現(xiàn)正則表達(dá)式操作 正則表達(dá)式就是記錄文本規(guī)則的代碼 可以查找操作符合某些復(fù)雜規(guī)則的字符串 把正則表達(dá)式作為模式字符串 正則表達(dá)式可以使用原生字符串來表

    2024年02月10日
    瀏覽(61)
  • 前端開發(fā)必備:掌握正則表達(dá)式,輕松應(yīng)對(duì)復(fù)雜的表單驗(yàn)證

    前端開發(fā)必備:掌握正則表達(dá)式,輕松應(yīng)對(duì)復(fù)雜的表單驗(yàn)證

    在前端開發(fā)中,經(jīng)常需要處理 URL 地址、校驗(yàn)手機(jī)號(hào)合法性、提取域名等。正則表達(dá)式是一種常用的工具。通過使用正則表達(dá)式,我們可以對(duì)用戶輸入進(jìn)行有效的驗(yàn)證,確保數(shù)據(jù)的合法性和完整性。本文將介紹一些常見的正則表達(dá)式,幫助你在開發(fā)中處理匹配的關(guān)鍵信息。

    2024年01月19日
    瀏覽(30)
  • 【從零學(xué)習(xí)python 】63.正則表達(dá)式中的re.Match類及其屬性和方法介紹

    當(dāng)我們調(diào)用 re.match 方法、 re.search 方法,或者對(duì) re.finditer 方法的結(jié)果進(jìn)行迭代時(shí),拿到的數(shù)據(jù)類型都是 re.Match 對(duì)象。 這個(gè)類里定義了相關(guān)的屬性,可以直接讓我們來使用。 屬性和方法 說明 pos 搜索的開始位置 endpos 搜索的結(jié)束位置 string 搜索的字符串 re 當(dāng)前使用的正則表達(dá)

    2024年02月11日
    瀏覽(40)
  • 【正則表達(dá)式】正則表達(dá)式常見匹配模式

    模式 描述 w 匹配字母數(shù)字及下劃線 W 匹配非字母數(shù)字下劃線 s 匹配任意空白字符,等價(jià)于 [tnrf]. S 匹配任意非空字符 d 匹配任意數(shù)字,等價(jià)于 [0-9] D 匹配任意非數(shù)字 A 匹配字符串開始 Z 匹配字符串結(jié)束,如果是存在換行,只匹配到換行前的結(jié)束字符串 z 匹配字符串結(jié)

    2024年02月09日
    瀏覽(40)
  • 鴻運(yùn)應(yīng)用開發(fā)學(xué)習(xí)-發(fā)現(xiàn)了一個(gè)TextInput組件中使用正則表達(dá)式后出現(xiàn)的BUG

    鴻運(yùn)應(yīng)用開發(fā)學(xué)習(xí)-發(fā)現(xiàn)了一個(gè)TextInput組件中使用正則表達(dá)式后出現(xiàn)的BUG

    一、起因 最近我正在學(xué)習(xí)鴻蒙應(yīng)用開發(fā),準(zhǔn)備把之前在安卓系統(tǒng)上開發(fā)的一個(gè)小應(yīng)用,使用ArkTs語言,再寫一遍,做成原生鴻蒙應(yīng)用。我的應(yīng)用需要對(duì)液體的體積數(shù)據(jù)進(jìn)行換算,對(duì)輸入的體積和對(duì)應(yīng)的溫度參數(shù)根據(jù)相關(guān)的計(jì)算公式進(jìn)行換算,得到該液體在20℃下的標(biāo)準(zhǔn)體積,

    2024年01月16日
    瀏覽(21)
  • 【SQL-正則】利用正則表達(dá)式進(jìn)行過濾操作(常用正則表達(dá)式)

    1、由數(shù)字、26個(gè)英文字母或者下劃線組成的字符串 2、非負(fù)整數(shù)(正整數(shù) + 0 ) 3、正整數(shù) 4、非正整數(shù)(負(fù)整數(shù) + 0) 5、負(fù)整數(shù) 6、整數(shù) 7、非負(fù)浮點(diǎn)數(shù)(正浮點(diǎn)數(shù) + 0) 8、正浮點(diǎn)數(shù) 9、非正浮點(diǎn)數(shù)(負(fù)浮點(diǎn)數(shù) + 0) 10、負(fù)浮點(diǎn)數(shù) 11、浮點(diǎn)數(shù) 12、由26個(gè)英文字母組成的字符串 13、

    2024年02月12日
    瀏覽(32)
  • Java 之正則表達(dá)式語法及常用正則表達(dá)式匯總

    Java 之正則表達(dá)式語法及常用正則表達(dá)式匯總

    正則表達(dá)式,又稱規(guī)則表達(dá)式。(英語:Regular Expression,在代碼中常簡(jiǎn)寫為 regex、regexp 或 RE),計(jì)算機(jī)科學(xué)的一個(gè)概念。正則表達(dá)式通常被用來檢索、替換那些符合某個(gè)模式(規(guī)則)的文本。 正則表達(dá)式是對(duì)字符串(包括普通字符(例如,a 到 z 之間的字母)和特殊字符(稱

    2024年02月09日
    瀏覽(31)
  • Python正則表達(dá)式之學(xué)習(xí)正則表達(dá)式三步曲

    ????????正則表達(dá)式描述了一種字符串匹配的模式,可以用來檢查一個(gè)串的有無某子串,或者做子串匹配替換,取出子串等操作。也可以說正則表達(dá)式就是字符串的匹配規(guī)則,也可以理解為是一種模糊匹配,匹配滿足正則條件的字符串。 ????????1、數(shù)據(jù)驗(yàn)證(eg:表單驗(yàn)

    2024年02月15日
    瀏覽(94)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包