String支持4種使用正則表達式的方法

1.search()

參數(shù): 一個正則表達式

返回: 第一個與之匹配的子串的起始位置,如果找不到匹配的子串,返回-1.

示例:?

"JavaScript".search(/script/i);? ? ? ? // 4

注意: search()方法不支持全局檢索,它忽略正則表達式參數(shù)中的修飾符g.

2.replace()

replace()方法用詞執(zhí)行檢索和替換。

參數(shù):?

????參數(shù)1:一個正則表達式

? ? 參數(shù)2:要進行替換的字符串(可以是函數(shù))

示例1:

// 將所有不區(qū)分大小寫的javascript都替換成大小寫正確的JavaScript

text.replace(/javascriipt/gi, "JavaScript");

示例2:

// 一段引用文本起始于引號,結(jié)束于引號,中間的內(nèi)容區(qū)域不能包含引號

var quote = /''[(^")]*"/g

// 用中文半角引號替換英文引號,同時要保持引號之間的內(nèi)容(存儲在$1中)沒有被修改

text.replace(quote, ' “$1” ')

在示例2中,正則表達式中使用圓括號括起來的子表達式是帶有從左到右的索引編號的,而且正則表達式會記憶與每個子表達式匹配的文本。如果在替換字符串中出現(xiàn)了$加數(shù)字,那么replace()將用與指定的子表達式相匹配的文本來替換這兩個字符。

3. match()

參數(shù): 一個正則表達式

返回:由匹配結(jié)果組成的數(shù)組(如果參數(shù)正則表達式中設(shè)置了修飾符g,則該方法返回的數(shù)組包含字符串中的所有匹配結(jié)果)

示例:

"1 plus 2 equals 3".match(/\d+/g/)? ?//返回["1",? "2", "3"]

注意: 如果正則表達式?jīng)]有設(shè)置修飾符g, match() 就不會進行全局檢索,它只檢索第一個匹配。但即使match()執(zhí)行的不是全局檢索,它也返回一個數(shù)組。在這種情況下,數(shù)組的第一個元素就是匹配的字符串,余下的元素則是正則表達式中用圓括號括起來的子表達式。

4. split()

這個方法用以將調(diào)用它的字符串拆分為一個子串組成的數(shù)組,使用的分隔符是split()的參數(shù)。

示例:

"123,456,789".split(",");? // 返回["123", "456", "789"]

split()方法的參數(shù)也可以是一個正則表達式。

"1,? 2,? 3,? 4,? 5".split(/\s*,\s*/);? ? ? ? ? ? //返回["1","2","3","4","5"]

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 前言 對于正則,著稱火星文字,見名知意主要它晦澀難懂,一直以來,看到它總是怕怕的,在平時,也只是簡單的用用,其主要...
    itclanCoder閱讀 906評論 0 2
  • 初衷:看了很多視頻、文章,最后卻通通忘記了,別人的知識依舊是別人的,自己卻什么都沒獲得。此系列文章旨在加深自己的印...
    DCbryant閱讀 4,257評論 0 20
  • ??引用類型的值(對象)是引用類型的一個實例。 ??在 ECMAscript 中,引用類型是一種數(shù)據(jù)結(jié)構(gòu),用于將數(shù)...
    霜天曉閱讀 1,219評論 0 1
  • 以前對于正則是非常懼怕的,因為看不懂和學不會。但最近項目中頻繁的使用到了正則,因此強迫自己去學習了解,慢慢的體會到...
    小b貍貓閱讀 282評論 0 0
  • 標題黨們注意了,我不是要探討男女關(guān)系,而是,向你們展示一段7年時間。如果人生的軌跡是一條曲折向前的直線,這就是一條...
    蘇一木閱讀 272評論 0 0

友情鏈接更多精彩內(nèi)容