摘要:在不設置全局標志的情況下,在同一個字符創上多次調用將始終返回第一個匹配項的信息。
字面量定義正則表達式
ECMAScript通過RegExp類型來支持正則表達式
var expression = / pattern / flags:模式(pattern)部分可以是任何簡單或復雜的正則表達式,標志(flag)部分用來標明正則表達式的匹配模式
正則表達式的匹配模式支持下列3個標志:
g:表示全局模式,即模式會被應用于所有字符串,而非在發現第一個匹配項時立即停止
i:表示不區分大小寫模式
m:表示多行模式,即在到達一行文本末尾時還會繼續查找下一行中是否存在與模式匹配的項
正則表達式:
d: 等價于[0-9],表示數字字符
w: 等價于[a-zA-Z_0-9],表示字母,數字,下劃線
s: 等價于[ x0Bf ],表示空白符
[a-zA-Z0-9]: 表示大小寫字母和數字
: 表示單詞邊界,單詞邊界就是單詞和符號之間的邊界,這里的單詞可以是中文字符,英文字符,數字;符號可以是中文符號,英文符號,空格,制表符,換行
.: 等價于[^ ],表示除了回車和換行符之外的所有字符
*: 表示出現零次或多次
+: 表示出現一次或多次
?: 表示出現零次或一次
x{3}: 表示x出現3次
^: 表示以XXX開頭
$: 表示以XXX結尾
使用構造函數創建正則表達式var pattern = new RegExp("[bc]at", "i");
RegExp構造函數接受兩個參數:一個是要匹配的 字符串模式(注意不是字面量),兩一個是可選的標志字符串
常用方法:
pattern.exec(str):
對于exec()方法而言,即使在模式中設置了全局標志(g),它每次也只會返回一個匹配項。在不設置全局標志的情況下,在同一個字符創上多次調用exec()將始終返回第一個匹配項的信息。而在設置全局標志的情況下,每次調用exec()則會在字符串中繼續查找新匹配項。
exec()方法返回一個對象,擁有兩個屬性:index和input,index表示匹配項在字符串中的位置,input表示應用正則表達式的字符串
pattern.test(str):
在模式與該參數匹配的情況下返回true,否則返回false
String類型也可以利用正則表達式來實現相應的功能:match方法:
var text = "cat, bat, sat, fat"; var pattern = /.at/; text.match(pattern); // 無論執行多少次,都只會返回 ["cat"] var pattern = /.at/g; text.match(pattern); // 返回 ["cat", "bat", "sat", "fat"]
replace方法:
var text = "cat, bat, sat, fat"; var pattern = /.at/; text.replace(pattern, "skt"); // 無論執行多少次,都只會返回 "skt, bat, sat, fat" var pattern = /.at/g; text.replace(pattern, "skt"); // 無論執行多少次,都只會返回 "skt, skt, skt, skt"
search方法:返回字符串第一個匹配項的索引
var text = "cat, bat, sat, fat"; var pattern = /.at/; text.search(pattern); // 無論執行多少次,都只會返回 0 var pattern = /.at/g; text.search(pattern); // 無論執行多少次,都只會返回 0
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/83349.html
摘要:首先來看一個例子我們知道基本數據類型有還有一種復雜數據類型基本類型不是對象從邏輯上講是不應該有方法的其實為了讓我們能夠對進行相關操作后臺已經自動完成了一系列的處理當第二行代碼訪問時訪問過程處于一種讀取模式也就是從內存中讀取這個字符串的值而在 首先來看一個例子 var s1 = some text; var s2 = s1.substring(2); var s3 = new Strin...
摘要:方法將所有在過濾函數中返回的數組元素放進一個新數組中并返回。方法從左到右為每個數組元素執行一次回調函數,并把上次回調函數的返回值放在一個暫存器中傳給下次回調函數,并返回最后一次回調函數的返回值。 創建數組 var array = new Array(); var array = new Array(10); var array = new Array(red,blue,green);...
摘要:是一個類數組對象,包含著傳入函數中的所有參數。雖然的主要用途是保存函數參數,但是這個對象還有一個名叫的屬性,該屬性是一個指針,指明擁有這個對象的函數。 arguments arguments是一個類數組對象,包含著傳入函數中的所有參數。雖然arguments的主要用途是保存函數參數,但是這個對象還有一個名叫callee的屬性,該屬性是一個指針,指明擁有這個arguments對象的函數。...
摘要:引用計數另一種不太常見的垃圾回收策略是引用計數。引用計數的含義是跟蹤記錄每個值被引用的次數。在采用引用計數的策略中,由于函數執行之后,這兩個對象都離開了作用域,函數執行完成之后,和還將會繼續存在,因為他們的引用次數永遠不會是。 垃圾回收的必要性 由于字符串、對象和數組沒有固定大小,所以當他們的大小已知時,才能對他們進行動態的存儲分配。JavaScript程序每次創建字符串、數組或對象時...
正則表達式對象方法 test方法 var regexp1 = /a/g; var regexp2 = /a/; var str = abcd; regexp1.test(str); true regexp1.test(str); false regexp1.test(str); true regexp2.test(str); true regexp2.test(str); true 當正則表示式是...
閱讀 2457·2021-11-23 09:51
閱讀 1872·2021-10-13 09:40
閱讀 1384·2021-09-30 10:01
閱讀 594·2021-09-26 09:46
閱讀 2250·2021-09-23 11:55
閱讀 1395·2021-09-10 10:51
閱讀 2261·2021-09-09 09:33
閱讀 2234·2019-08-29 17:25