佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > javascript正則表達式標記中/g /i /m的用法,以及實例

javascript正則表達式標記中/g /i /m的用法,以及實例

熱門標簽:團購網(wǎng)站 阿里云 銀行業(yè)務 服務器配置 Mysql連接數(shù)設置 科大訊飛語音識別系統(tǒng) 電子圍欄 Linux服務器

一,js正則標志/g,/i,/m說明

1,/g (globle)表示該表達式將用來在輸入字符串中查找所有可能的匹配,全文查找出現(xiàn)的所有匹配字符,返回的結果可以是多個。如果不加/g最多只會匹配一個
2,/i (ignorCase)表示匹配的時候不區(qū)分大小寫,
忽略大小寫,注意僅是忽略大小寫,并不忽略全半角。
3,/m (mutiple)表示多行匹配,多行查找什么是多行匹配呢?就是匹配換行符兩端的潛在匹配。影響正則中的^$符號
m 影響 ^、$。
若不指定 m,則:^ 只在字符串的最開頭,$ 只在字符串的最結尾。即:匹配整個串的開始和結束
若指定 m,則:^ 在字符串每一行的開頭,$ 在字符串每一行的結尾。即:匹配每一行的開始和結束

二,實例說明

1,/g的用法

script type="text/javascript"> 
str = "tankZHang (231144)"+ 
"tank ying (155445)"; 
res = str.match(/tank/); //沒有加/g 
alert(res);     //顯示一個tank 

res = str.match(/tank/g); //加了/g 
alert(res);     //顯示為tank,tank 
/script> 

2,/i的用法

script type="text/javascript"> 
str = "tankZHang (231144)"+ "tank ying (155445)"; 
 
res = str.match(/zhang/);  
alert(res);     //顯示為null 
 
res = str.match(/zhang/i); //加了/i 
alert(res);     //顯示為ZHang 
/script> 

3,/m的用法

script type="text/javascript"> 
var p = /$/mg; 
var s = '1\n2\n3\n4\n5\n6'; 
alert(p.test(s)); //顯示為true 
alert(RegExp.rightContext.replace(/\x0A/g, '\\a')); //顯示\a2\a3\a4\a5\a6 
alert(RegExp.leftContext); //顯示為豎的2345 
alert(RegExp.rightContext); //顯示為6 
 
var p = /$/g; 
var s = '1\n2\n3\n4\n5\n6'; 
alert(p.test(s)); //顯示為true 
alert(RegExp.rightContext.replace(/\x0A/g, '\\a')); //什么都不顯示 
alert(RegExp.leftContext); //顯示為豎的123456 
alert(RegExp.rightContext); //什么都不顯示 
 
var p = /^/mg; 
var s = '1\n2\n3\n4\n5\n6'; 
alert(p.test(s)); //顯示為true 
alert(RegExp.rightContext.replace(/\x0A/g, '\\a')); //顯示為1\a2\a3\a4\a5\a6 
alert(RegExp.leftContext);  //顯示為豎的12345 
alert(RegExp.rightContext); //顯示為6 
/script> 

//從上例中可以看出/m影響的^$的分割方式

上面說的三個例子,/i,/g,/m分開來說的,可以排列組合使用的。個人覺得/m沒有多大用處

補充說明:

\n匹配一個換行符。等價于 \x0a 和 \cJ

rightContext

RegExp.rightContext ($')

該特性是非標準的,請盡量不要在生產(chǎn)環(huán)境中使用它!

rightContext 非標準屬性是正則表達式的靜態(tài)和只讀屬性,含有最新匹配的右側子串。 RegExp.$' 是這個屬性的別名。

語法

RegExp.rightContext
RegExp["$'"]

描述
rightContext 屬性是靜態(tài)的,不是正則表達式獨立對象的屬性。反之,你應始終將其使用為 RegExp.rightContext 或者 RegExp["$'"]。

rightContext 屬性的值是只讀的,并且會在匹配成功時修改。

你不能使用屬性訪問器(RegExp.$')來使用簡寫的別名,因為解析器在這里會將其看做字符串的開始,并拋出 SyntaxError。使用 方括號符號來訪問屬性。

示例
使用 rightContext 和 $'

var re = /hello/g;
re.test('hello world!');
RegExp.rightContext; // " world!"
RegExp["$'"]; // " world!"

leftContext 非標準屬性是正則表達式的靜態(tài)和只讀屬性,含有最新匹配的左側子串。 RegExp.$` 是這個屬性的別名。

語法

RegExp.leftContext
RegExp['$`']

描述

leftContext 屬性是靜態(tài)的,不是正則表達式獨立對象的屬性。反之,你應始終將其使用為 RegExp.leftContext 或者 RegExp['$`']。
leftContext 屬性的值是只讀的,并且會在匹配成功時修改。

你不能使用屬性訪問器(RegExp.$`)來使用簡寫的別名,因為解析器在這里會將其看做模板字符串的開始,并拋出 SyntaxError 。使用 方括號符號來訪問屬性。

示例
使用 leftContext 和 $`

var re = /world/g;
re.test('hello world!');
RegExp.leftContext; // "hello "
RegExp['$`']; // "hello "

規(guī)范

非標準。并不是任何現(xiàn)行規(guī)范的一部分。

標簽:衡水 衢州 蚌埠 廣元 江蘇 棗莊 大理 萍鄉(xiāng)

巨人網(wǎng)絡通訊聲明:本文標題《javascript正則表達式標記中/g /i /m的用法,以及實例》,本文關鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    通山县| 凤台县| 仙桃市| 栾城县| 康保县| 河间市| 聂荣县| 莆田市| 西贡区| 平乐县| 五大连池市| 恭城| 望江县| 文山县| 英德市| 武鸣县| 岳池县| 元朗区| 乾安县| 芦溪县| 建瓯市| 泸定县| 盐边县| 雷波县| 乐业县| 济南市| 平潭县| 会宁县| 东兰县| 彰武县| 南木林县| 沧州市| 文登市| 区。| 林甸县| 炉霍县| 青冈县| 南靖县| 永德县| 乐东| 伊吾县|