日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

正則 /gi 貪婪模式 \ 反斜杠

 一本正經(jīng)地胡鬧 2019-10-10

/i    忽略大小寫的功能,是不能單獨使用的。

/g    在全文中查找所出現(xiàn)的指定字符串。    

/ig    忽略大小寫在全文中查找指定字符串。

/gi    /gi和/ig作用是一樣的,都是忽略大小寫在全文中查找指定字符串。

/m    多行查找

正則表達式的通項: /pattern/flags 即(/模式/標記 )

構造器函數(shù)方法使用方法如下:

new RegExp("pattern"[, "flags"])(即new RegExp("模式"[,"標記"]))

pattern(模式)表示正則表達式的文本 

flags(標記):如果指定此項,flags可以是下面值之一:

g: global match(全定匹配)i: ignore case(忽略大小寫)gi: both global match and ignore case(匹配所有可能的值,也忽略大小寫)

表達式建立同樣的正則表達式例如:

/ab+c/gi

擴展資料:

正則表達式:以字符串的形式規(guī)定一個規(guī)則,在文本中匹配并找出符合的字符串。

re庫中常用的六個函數(shù)分別是match、compile、sub、split、search、findall,這些函數(shù)的用法基本都是相同的,只是目的不一樣。

re.method(pattern, string)

pattern:正則表達式

string:文本

意義:從string文本里以pattern這個規(guī)則匹配對應的字符串

re.compile

提前預編譯好一個正則,后續(xù)可直接調(diào)用其他正則庫中的函數(shù)

re.split

以正則表達式為分隔符,對文本進行分隔,返回由分隔后的所有字符組成的列表

re.findall  

返回字符串中所有正確匹配項組成的列表,即列表中每個元素都能跟正則表達式匹配

re.sub(a,b,c)

將字符串c中符合正則表達式a的字符全換成字符b,并返回

\s匹配任意的空白符(包括空格,制表符(Tab),換行符,中文全角空格
\S則是任意不是空白符的字符

?涉及到貪婪模式
當正則表達式中包含能接受重復的限定符時,通常的行為是(在使整個表達式能得到匹配的前提下)匹配盡可能多的字符。以這個表達式為例:a.*b,它將會匹配最長的以a開始,以b結束的字符串。如果用它來搜索aabab的話,它會匹配整個字符串a(chǎn)abab。這被稱為貪婪匹配。

有時,我們更需要懶惰匹配,也就是匹配盡可能少的字符。前面給出的限定符都可以被轉化為懶惰匹配模式,只要在它后面加上一個問號?。這樣.*?就意味著匹配任意數(shù)量的重復,但是在能使整個匹配成功的前提下使用最少的重復?,F(xiàn)在看看懶惰版的例子吧:

a.*?b匹配最短的,以a開始,以b結束的字符串。如果把它應用于aabab的話,它會匹配aab(第一到第三個字符)和ab(第四到第五個字符)

表達式 .* 就是單個字符匹配任意次,即貪婪匹配。 表達式 .*? 是滿足條件的情況只匹配一次,即最小匹配.

\s    匹配任何空白非打印字符,包括空格、制表符、換頁符等等。等價于 [ \f\n\r\t\v]。注意 Unicode 正則表達式會匹配全角空格符。   

\S    匹配任何非空白非打印字符。等價于 [^ \f\n\r\t\v]。    

*限定符是貪婪的,因為它們會盡可能多的匹配文字,只有在它們的后面加上一個?就可以實現(xiàn)非貪婪或最小匹配。

比如:<H1>Chapter 1 - 介紹正則表達式</H1>

使用/<.*>/匹配的結果為:H1>Chapter 1 - 介紹正則表達式</H1。

使用/<.*?>/匹配結果為:H1。

拓展知識

正則表達式特殊字符及其含義

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多