摘要:正則的三種方法編譯正則表達(dá)式。返回找到的值,并確定其位置。規(guī)定匹配的類型。用于全局匹配,用于區(qū)分大小寫,用于全局區(qū)分大小寫的匹配。非貪婪匹配就是匹配到結(jié)果就好,就少的匹配字符。對(duì)象是否具有標(biāo)志。正則表達(dá)式的源文本。
對(duì)正則的深入學(xué)習(xí)
學(xué)習(xí)正則我們不能光看看幾個(gè)修飾符就可以了,因?yàn)檎齽t還有許多深入的知識(shí),下面我就來(lái)為大家扒一扒。。。
compile 編譯正則表達(dá)式。
exec 檢索字符串中指定的值。返回找到的值,并確定其位置。
test 檢索字符串中指定的值。返回 true 或 false。
.compile()的用法compile() 方法用于在腳本執(zhí)行過(guò)程中編譯正則表達(dá)式,也可用于改變和重新編譯正則表達(dá)式。
語(yǔ)法RegExpObject.compile(regexp,modifier) 參數(shù)詳解 regexp 正則表達(dá)式。 modifier 規(guī)定匹配的類型。"g" 用于全局匹配,"i" 用于區(qū)分大小寫,"gi" 用于全局區(qū)分大小寫的匹配。實(shí)例
在字符串中全局搜索 "man",并用 "person" 替換。然后通過(guò) compile() 方法,改變正則表達(dá)式,用 "person" 替換 "man" 或 "woman",
var str="Every man in the world! Every woman on earth!"; patt=/man/g; str2=str.replace(patt,"person"); document.write(str2+"
"); patt=/(wo)?man/g; patt.compile(patt); str2=str.replace(patt,"person"); document.write(str2);
輸出
Every person in the world! Every woperson on earth! Every person in the world! Every person on earth!.exec()的用法
exec() 方法用于檢索字符串中的正則表達(dá)式的匹配。
語(yǔ)法RegExpObject.exec(string)
參數(shù)
string 要檢索的值
我們需要找到my,并檢索
var str = "hi my name is motor how are you"; var reg = /my/; reg.exec(str)
輸出my
.test()的用法test() 方法用于檢測(cè)一個(gè)字符串是否匹配某個(gè)模式.
語(yǔ)法RegExpObject.test(string)
參數(shù)
string 要檢索的值
我們需要找到my,并檢索
var str = "hi my name is motor how are you"; var reg = /my/; reg.test(str)
輸出true
貪婪 什么是正則表達(dá)式的貪婪與非貪婪匹配 如:String str="abcaxc";
Patter p="ab*c";
貪婪匹配:正則表達(dá)式一般趨向于最大長(zhǎng)度匹配,也就是所謂的貪婪匹配。如上面使用模式p匹配字符串str,結(jié)果就是匹配到:abcaxc(ab*c)。
非貪婪匹配:就是匹配到結(jié)果就好,就少的匹配字符。如上面使用模式p匹配字符串str,結(jié)果就是匹配到:abc(ab*c)。
編程中如何區(qū)分兩種模式默認(rèn)是貪婪模式;在量詞后面直接加上一個(gè)問(wèn)號(hào)?就是非貪婪模式。
量詞:
{m,n}:m到n個(gè) *:任意多個(gè) +:一個(gè)到多個(gè) ?:0或一個(gè)前瞻 正向前瞻
//判斷一個(gè)單詞字符之后是否是數(shù)字(正向前瞻),是的話,則符合匹配,進(jìn)行替換 var str = "a2*3"; var reg = /w(?=d)/g; str.replace(reg,"X"); >>result: "X2*3"反向前瞻
//判斷一個(gè)單詞字符之后是否是非數(shù)字(負(fù)向前瞻),是的話,則符合匹配,進(jìn)行替換 var str = "a2*3"; var reg = /w(?!d)/g; str.replace(reg,"X"); >>result: "aX*X"屬性
ignoreCase RegExp 對(duì)象是否具有標(biāo)志 i。
global RegExp 對(duì)象是否具有標(biāo)志 g。
multiline RegExp 對(duì)象是否具有標(biāo)志 m。
source 正則表達(dá)式的源文本。
lastIndex 一個(gè)整數(shù),標(biāo)示開(kāi)始下一次匹配的字符位置。
sourcevar reg = /name/; reg.source
輸出name
lastIndexvar str = "hi my name is motor how are you"; var reg = /m/g; console.log(reg.exec(str)) console.log(reg.lastIndex) console.log(reg.exec(str)) console.log(reg.lastIndex) console.log(reg.exec(str)) console.log(reg.lastIndex) console.log(reg.exec(str)) console.log(reg.lastIndex) console.log(reg.exec(str)) console.log(reg.lastIndex) console.log(reg.exec(str)) console.log(reg.lastIndex)
輸出
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/84925.html
摘要:正則表達(dá)式一直是里比較難以掌握的點(diǎn)。在中創(chuàng)建正則的兩種方式使用字面量這就是正則表達(dá)式的字面量語(yǔ)法,表示正則表達(dá)式的模式,為正則表達(dá)式的標(biāo)志。字面量形式的正則表達(dá)式一般使用較多,也推薦大家盡可能使用這種形式,簡(jiǎn)潔易讀,符合正常的使用習(xí)慣。 正則表達(dá)式一直是js里比較難以掌握的點(diǎn)。 看不懂,學(xué)不會(huì),記不住。 每次需要用到正則的時(shí)候,都需要再去查找資料。 今天花時(shí)間把正則的知識(shí)點(diǎn)總結(jié)下,希望...
摘要:說(shuō)來(lái)慚愧,做前端快三年對(duì)于正則表達(dá)式的應(yīng)用還是很淺薄,大家都知道正則的速度基本上是最快的,但就是懶得去記那些語(yǔ)法和規(guī)則,這次項(xiàng)目中多次用到了需要匹配替換的動(dòng)作,終于下定決心去研究一下了。 說(shuō)來(lái)慚愧,做前端快三年對(duì)于正則表達(dá)式的應(yīng)用還是很淺薄,大家都知道正則的速度基本上是最快的,但就是懶得去記那些語(yǔ)法和規(guī)則,這次項(xiàng)目中多次用到了需要匹配替換的動(dòng)作,終于下定決心去研究一下了。 實(shí)例化正則對(duì)...
摘要:元字符代表一類字符元類字符有或者的意思。里還可以有數(shù)字大小寫字母。比如輸出量詞量詞是用來(lái)修飾字符的。 元字符 [ ] [ ] 代表一類字符(元類字符), [ ]有或者的意思,。比如[abc],意思就是a或b或c。 [ ]里還可以有數(shù)字.大小寫字母。比如[0-9a-zA-Z] var str=diauhvvdai; var reg=str.replace(/[ha...
摘要:正則引言正則是一個(gè)前端必須掌握的知識(shí)。這里上篇先介紹正則的規(guī)則,下篇結(jié)合一些具體題目,帶大家重新學(xué)習(xí)鞏固一下正則,爭(zhēng)取面試給自己加分。 正則 showImg(https://segmentfault.com/img/bVbo4hv?w=1800&h=1000); 引言 正則是一個(gè)前端必須掌握的知識(shí)。但是由于用的少,忘了記,記了忘,導(dǎo)致面試經(jīng)常坐蠟。這里上篇先介紹正則的規(guī)則,下篇結(jié)合一些...
摘要:正則表達(dá)式邊界及前瞻邊界整個(gè)字符串開(kāi)頭結(jié)尾單詞的邊界前瞻正向前瞻反向前瞻正則的對(duì)象屬性屬性描述對(duì)象是否具有標(biāo)志。正則表達(dá)式的源文本。支持正則表達(dá)式的對(duì)象的方法方法描述檢索與正則表達(dá)式相匹配的值。替換與正則表達(dá)式匹配的子串。 ——————【 正則表達(dá)式 】—————— 復(fù)習(xí)字符串操作 indexOf 查找字符 返回位置 charAt 查找位置 返回字符 substring 獲取字符竄 ...
閱讀 1020·2021-11-25 09:43
閱讀 2326·2019-08-30 15:55
閱讀 3180·2019-08-30 15:44
閱讀 2086·2019-08-29 16:20
閱讀 1477·2019-08-29 12:12
閱讀 1639·2019-08-26 12:19
閱讀 2315·2019-08-26 11:49
閱讀 1744·2019-08-26 11:42