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

資訊專欄INFORMATION COLUMN

RegExp對象

W4n9Hu1 / 1381人閱讀

摘要:匹配規(guī)則標(biāo)準(zhǔn)參考教程正則對象的屬性和方法屬性正則對象的屬性分成兩類。一類是修飾符相關(guān),返回一個布爾值,表示對應(yīng)的修飾符是否設(shè)置。方法正則對象的方法返回一個布爾值,表示當(dāng)前模式是否能匹配參數(shù)字符串。

正則表達(dá)式

/pattern/flags new RegExp(pattern [, flags])

pattern 正則表達(dá)式的文本
flags 如果指定,標(biāo)志可以具有以下值的任意組合:
g 全局匹配
i 忽略大小寫
m 多行;讓開始和結(jié)束字符(^ 和 $)工作在多行模式工作
u Unicode。把模式當(dāng)作Unicode代碼點(diǎn)(code points)的序列。
y 黏度; 在目標(biāo)字符串中,只從正則表達(dá)式的lastIndex屬性指定的顯示位置開始匹配(并且不試圖從任何之后的索引匹配)。
//字面量
var regex = /xyz/i;
//構(gòu)造函數(shù)
var regex = new RegExp("xyz", "i");

這兩種寫法——字面量和構(gòu)造函數(shù)——在運(yùn)行時有一個細(xì)微的區(qū)別。采用字面量的寫法,正則對象在代碼載入時(即編譯時)生成;采用構(gòu)造函數(shù)的方法,正則對象在代碼運(yùn)行時生成。考慮到書寫的便利和直觀,實(shí)際應(yīng)用中,基本上都采用字面量的寫法。

匹配規(guī)則

MDN
javascript標(biāo)準(zhǔn)參考教程

正則對象的屬性和方法

屬性


正則對象的屬性分成兩類。
一類是修飾符相關(guān),返回一個布爾值,表示對應(yīng)的修飾符是否設(shè)置。

ignoreCase:返回一個布爾值,表示是否設(shè)置了i修飾符,該屬性只讀。
global:返回一個布爾值,表示是否設(shè)置了g修飾符,該屬性只讀。
multiline:返回一個布爾值,表示是否設(shè)置了m修飾符,該屬性只讀。

var r = /abc/igm;

r.ignoreCase // true
r.global // true
r.multiline // true

另一類是與修飾符無關(guān)的屬性,主要是下面兩個。

lastIndex:返回下一次開始搜索的位置。該屬性可讀寫,但是只在設(shè)置了g修飾符時有意義。
source:返回正則表達(dá)式的字符串形式(不包括反斜杠),該屬性只讀。

var r = /abc/igm;

r.lastIndex // 0
r.source // "abc"

方法


test() 正則對象的test方法返回一個布爾值,表示當(dāng)前模式是否能匹配參數(shù)字符串。

如果正則表達(dá)式帶有g(shù)修飾符,則每一次test方法都從上一次結(jié)束的位置開始向后匹配。

var r = /x/g;
var s = "_x_x";

r.lastIndex // 0
r.test(s) // true

r.lastIndex // 2
r.test(s) // true

r.lastIndex // 4
r.test(s) // false

//lastIndex屬性只對同一個正則表達(dá)式有效,所以下面這樣寫是錯誤的

var count = 0;
while (/a/g.test("babaa")) count++;

exec() 正則對象的exec方法,可以返回匹配結(jié)果。如果發(fā)現(xiàn)匹配,就返回一個數(shù)組,成員是每一個匹配成功的子字符串,否則返回null。

如果正則表示式包含圓括號(即含有“組匹配”),則返回的數(shù)組會包括多個成員。第一個成員是整個匹配成功的結(jié)果,后面的成員就是圓括號對應(yīng)的匹配成功的組。也就是說,第二個成員對應(yīng)第一個括號,第三個成員對應(yīng)第二個括號,以此類推。整個數(shù)組的length屬性等于組匹配的數(shù)量再加1。

var s = "_x_x";
var r = /_(x)/;

r.exec(s) // ["_x", "x"]

如果正則表達(dá)式加上g修飾符,則可以使用多次exec方法,下一次搜索的位置從上一次匹配成功結(jié)束的位置開始。

//exec方法的返回數(shù)組還包含以下兩個屬性:
//    input:整個原字符串。
//    index:整個模式匹配成功的開始位置(從0開始計數(shù))。

var r = /a(b+)a/g;

var a1 = r.exec("_abbba_aba_");
a1 // ["abbba", "bbb"]
a1.index // 1
r.lastIndex // 6

var a2 = r.exec("_abbba_aba_");
a2 // ["aba", "b"]
a2.index // 7
r.lastIndex // 10

var a3 = r.exec("_abbba_aba_");
a3 // null
a3.index // TypeError: Cannot read property "index" of null
r.lastIndex // 0

var a4 = r.exec("_abbba_aba_");
a4 // ["abbba", "bbb"]
a4.index // 1
r.lastIndex // 6
字符串對象的方法

字符串對象的方法之中,有4種與正則對象有關(guān)。

match():返回一個數(shù)組,成員是所有匹配的子字符串。
search():按照給定的正則表達(dá)式進(jìn)行搜索,返回一個整數(shù),表示匹配開始的位置。
replace():按照給定的正則表達(dá)式進(jìn)行替換,返回替換后的字符串。
split():按照給定規(guī)則進(jìn)行字符串分割,返回一個數(shù)組,包含分割后的各個成員。

//String.prototype.match()

var s = "abba";
var r = /a/g;
s.match(r) // ["a", "a"]
r.exec(s) // ["a"]
//String.prototype.search()

"_x_x".search(/x/)
//String.prototype.replace()

"aaa".replace("a", "b") // "baa"
"aaa".replace(/a/, "b") // "baa"
"aaa".replace(/a/g, "b") // "bbb"

//replace方法的第二個參數(shù)可以使用美元符號$,用來指代所替換的內(nèi)容。
//    $& 指代匹配的子字符串。
//    $` 指代匹配結(jié)果前面的文本。
//    $" 指代匹配結(jié)果后面的文本。
//    $n 指代匹配成功的第n組內(nèi)容,n是從1開始的自然數(shù)。
//    $$ 指代美元符號$。
  
"hello world".replace(/(w+)s(w+)/, "$2 $1")
// "world hello"

"abc".replace("b", "[$`-$&-$"]")
// "a[a-b-c]c"


//replace方法的第二個參數(shù)還可以是一個函數(shù),將每一個匹配內(nèi)容替換為函數(shù)返回值。

"3 and 5".replace(/[0-9]+/g, function(match){
  return 2 * match;
})
// "6 and 10"

var a = "The quick brown fox jumped over the lazy dog.";
var pattern = /quick|brown|lazy/ig;

a.replace(pattern, function replacer(match) {
  return match.toUpperCase();
});
// The QUICK BROWN fox jumped over the LAZY dog.
//String.prototype.split()

// 非正則分隔
"a,  b,c, d".split(",")
// [ "a", "  b", "c", " d" ]

// 正則分隔,去除多余的空格
"a,  b,c, d".split(/, */)
// [ "a", "b", "c", "d" ]

// 指定返回數(shù)組的最大成員
"a,  b,c, d".split(/, */, 2)
[ "a", "b" ]

"aaa*a*".split(/(a*)/)
// [ "", "aaa", "*", "a", "*" ]

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/81666.html

相關(guān)文章

  • JS中的正則表達(dá)式

    摘要:構(gòu)造函數(shù)可以有兩個字符串參數(shù),第一個參數(shù)包含正則表達(dá)式的主體部分。只讀的布爾值,說明這個正則表達(dá)式是否帶有修飾符。中正則的擴(kuò)展構(gòu)造函數(shù)在中,只能接受字符串作為參數(shù),允許其直接接受正則表達(dá)式作為參數(shù)。 上文傳送門:初探正則表達(dá)式 正則表達(dá)式是一個描述字符模式的對象,JavaScript 的 RegExp 類表示正則表達(dá)式,String 和 RegExp 都定義了方法,后者使用正則表達(dá)式進(jìn)...

    Soarkey 評論0 收藏0
  • JS正則表達(dá)式精簡教程(JavaScript RegExp 對象

    摘要:返回值是被找到的值。支持正則表達(dá)式的對象的方法方法檢索與正則表達(dá)式相匹配的子字符串。該數(shù)組是通過在指定的邊界處將字符串分割成子串創(chuàng)建的。注意報錯正確示例附表修飾符修飾符描述執(zhí)行對大小寫不敏感的匹配。查找以十六進(jìn)制數(shù)規(guī)定的字符。 什么是 RegExp? RegExp 是正則表達(dá)式的縮寫。 當(dāng)您檢索某個文本時,可以使用一種模式來描述要檢索的內(nèi)容。RegExp 就是這種模式。 簡單的模式可以...

    ACb0y 評論0 收藏0
  • 【JavaScript】正則表達(dá)式

    摘要:對象對象對象表示正則表達(dá)式,它是對字符串執(zhí)行模式匹配的強(qiáng)大工具。查找以十六進(jìn)制數(shù)規(guī)定的字符。支持正則表達(dá)式的對象的方法方法描述檢索與正則表達(dá)式相匹配的值。替換與正則表達(dá)式匹配的子串。 RegExp對象 RegExp 對象 RegExp 對象表示正則表達(dá)式,它是對字符串執(zhí)行模式匹配的強(qiáng)大工具。 直接量語法 /pattern/attributes 創(chuàng)建 RegExp 對象的語法 new R...

    894974231 評論0 收藏0
  • PocketLibs(2)—— 請求相關(guān) path-to-regexp

    摘要:直接調(diào)用構(gòu)造函數(shù)使用,一個可能含某種匹配模式的路徑字符串作為它的必選參數(shù),它返回一個正則對象。有兩個方法返回一個正則對象,效果與調(diào)用構(gòu)造函數(shù)一樣返回一個函數(shù),該函數(shù)與下面的返回的函數(shù)功能一樣方法,同樣接收一個路徑字符串。 code in here使用path-to-regexp,我們可以在路徑字符串中使用正則。如/:foo*/:bar?、/icon-:foo(d+).png等。像exp...

    Prasanta 評論0 收藏0
  • Javascript正則表達(dá)式入門

    摘要:返回值一個新的對象,具有指定的模式和標(biāo)志。參數(shù)作用正則表達(dá)式規(guī)定匹配的類型。如果未找到匹配,則返回值為。返回值請注意,無論是否是全局模式,都會把完整的細(xì)節(jié)添加到它返回的數(shù)組中。字符串或正則表達(dá)式,從該參數(shù)指定的地方分割。 前言 PS:2018/03/27 優(yōu)化文章格式,新增部分測試代碼說起正則其實(shí)大家都會經(jīng)常接觸到,前端小到校驗(yàn),大到插件隨處可見,簡單的方法也能實(shí)現(xiàn)需求,不過缺乏靈活性...

    joywek 評論0 收藏0
  • JavaScript標(biāo)準(zhǔn)庫系列——RegExp對象(三)

    摘要:目錄導(dǎo)語理解正則表達(dá)式模式的規(guī)則字符串和正則實(shí)例的屬性和方法檢索實(shí)例小結(jié)導(dǎo)語正則表達(dá)式是處理字符串的一門藝術(shù)手法,應(yīng)用場景經(jīng)常出現(xiàn)在表單驗(yàn)證部分高級程序設(shè)計一書開篇提到,這門語言最原始的應(yīng)用就是處理輸入驗(yàn)證操作,所以正則表達(dá)式從誕生那一刻就 目錄 導(dǎo)語 1.理解正則表達(dá)式 2.模式的規(guī)則 3.字符串和正則實(shí)例的屬性和方法 4.檢索實(shí)例 5. 小結(jié) 導(dǎo)語 正則表達(dá)式是處理字符串的一門藝...

    邱勇 評論0 收藏0

發(fā)表評論

0條評論

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