国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

正則的貪婪,前瞻及屬性詳解

pepperwang / 2190人閱讀

摘要:正則的三種方法編譯正則表達式。返回找到的值,并確定其位置。規定匹配的類型。用于全局匹配,用于區分大小寫,用于全局區分大小寫的匹配。非貪婪匹配就是匹配到結果就好,就少的匹配字符。對象是否具有標志。正則表達式的源文本。

對正則的深入學習

學習正則我們不能光看看幾個修飾符就可以了,因為正則還有許多深入的知識,下面我就來為大家扒一扒。。。

正則的三種方法

compile 編譯正則表達式。

exec 檢索字符串中指定的值。返回找到的值,并確定其位置。

test 檢索字符串中指定的值。返回 true 或 false。

.compile()的用法

compile() 方法用于在腳本執行過程中編譯正則表達式,也可用于改變和重新編譯正則表達式。

語法
RegExpObject.compile(regexp,modifier)
參數詳解
regexp    正則表達式。
modifier    規定匹配的類型。"g" 用于全局匹配,"i" 用于區分大小寫,"gi" 用于全局區分大小寫的匹配。
實例

在字符串中全局搜索 "man",并用 "person" 替換。然后通過 compile() 方法,改變正則表達式,用 "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() 方法用于檢索字符串中的正則表達式的匹配。

語法
RegExpObject.exec(string)

參數
string 要檢索的值

實例

我們需要找到my,并檢索

var str = "hi my name is motor how are you";
var reg = /my/;
reg.exec(str)

輸出my

.test()的用法

test() 方法用于檢測一個字符串是否匹配某個模式.

語法
RegExpObject.test(string)

參數
string 要檢索的值

實例

我們需要找到my,并檢索

var str = "hi my name is motor how are you";
var reg = /my/;
reg.test(str)

輸出true

貪婪 什么是正則表達式的貪婪與非貪婪匹配

  如:String str="abcaxc";
    Patter p="ab*c";

貪婪匹配:正則表達式一般趨向于最大長度匹配,也就是所謂的貪婪匹配。如上面使用模式p匹配字符串str,結果就是匹配到:abcaxc(ab*c)。

非貪婪匹配:就是匹配到結果就好,就少的匹配字符。如上面使用模式p匹配字符串str,結果就是匹配到:abc(ab*c)。

編程中如何區分兩種模式

默認是貪婪模式;在量詞后面直接加上一個問號?就是非貪婪模式。

量詞:

{m,n}:m到n個 
*:任意多個
+:一個到多個
?:0或一個
前瞻 正向前瞻
//判斷一個單詞字符之后是否是數字(正向前瞻),是的話,則符合匹配,進行替換
var str = "a2*3";
var reg = /w(?=d)/g;
str.replace(reg,"X");
>>result: "X2*3"
反向前瞻
//判斷一個單詞字符之后是否是非數字(負向前瞻),是的話,則符合匹配,進行替換
var str = "a2*3";
var reg = /w(?!d)/g;
str.replace(reg,"X");
>>result: "aX*X"
屬性

ignoreCase RegExp 對象是否具有標志 i。

global RegExp 對象是否具有標志 g。

multiline RegExp 對象是否具有標志 m。

source 正則表達式的源文本。

lastIndex 一個整數,標示開始下一次匹配的字符位置。

source
var reg = /name/;
reg.source

輸出name

lastIndex
var 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)

輸出

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/84925.html

相關文章

  • JavaScript正則表達式總結

    摘要:正則表達式一直是里比較難以掌握的點。在中創建正則的兩種方式使用字面量這就是正則表達式的字面量語法,表示正則表達式的模式,為正則表達式的標志。字面量形式的正則表達式一般使用較多,也推薦大家盡可能使用這種形式,簡潔易讀,符合正常的使用習慣。 正則表達式一直是js里比較難以掌握的點。 看不懂,學不會,記不住。 每次需要用到正則的時候,都需要再去查找資料。 今天花時間把正則的知識點總結下,希望...

    big_cat 評論0 收藏0
  • js正則表達式學習筆記

    摘要:說來慚愧,做前端快三年對于正則表達式的應用還是很淺薄,大家都知道正則的速度基本上是最快的,但就是懶得去記那些語法和規則,這次項目中多次用到了需要匹配替換的動作,終于下定決心去研究一下了。 說來慚愧,做前端快三年對于正則表達式的應用還是很淺薄,大家都知道正則的速度基本上是最快的,但就是懶得去記那些語法和規則,這次項目中多次用到了需要匹配替換的動作,終于下定決心去研究一下了。 實例化正則對...

    Towers 評論0 收藏0
  • 熟練掌握這十種字符,你正則表達式就沒問題

    摘要:元字符代表一類字符元類字符有或者的意思。里還可以有數字大小寫字母。比如輸出量詞量詞是用來修飾字符的。 元字符 [ ] [ ] 代表一類字符(元類字符), [ ]有或者的意思,。比如[abc],意思就是a或b或c。 [ ]里還可以有數字.大小寫字母。比如[0-9a-zA-Z] var str=diauhvvdai; var reg=str.replace(/[ha...

    liangzai_cool 評論0 收藏0
  • JS核心知識點梳理——正則篇(上)

    摘要:正則引言正則是一個前端必須掌握的知識。這里上篇先介紹正則的規則,下篇結合一些具體題目,帶大家重新學習鞏固一下正則,爭取面試給自己加分。 正則 showImg(https://segmentfault.com/img/bVbo4hv?w=1800&h=1000); 引言 正則是一個前端必須掌握的知識。但是由于用的少,忘了記,記了忘,導致面試經常坐蠟。這里上篇先介紹正則的規則,下篇結合一些...

    happyhuangjinjin 評論0 收藏0
  • ——————【 正則表達式 】——————

    摘要:正則表達式邊界及前瞻邊界整個字符串開頭結尾單詞的邊界前瞻正向前瞻反向前瞻正則的對象屬性屬性描述對象是否具有標志。正則表達式的源文本。支持正則表達式的對象的方法方法描述檢索與正則表達式相匹配的值。替換與正則表達式匹配的子串。 ——————【 正則表達式 】—————— 復習字符串操作 indexOf 查找字符 返回位置 charAt 查找位置 返回字符 substring 獲取字符竄 ...

    fuchenxuan 評論0 收藏0

發表評論

0條評論

pepperwang

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<