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

 更新時間:2020-05-11 14:32:47   作者:佚名   我要評論(0)

一,js正則標志/g,/i,/m說明
1,/g (globle)表示該表達式將用來在輸入字符串中查找所有可能的匹配,全文查找出現的所有匹配字符,返回的結果可以是多個。如果不加/

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

1,/g (globle)表示該表達式將用來在輸入字符串中查找所有可能的匹配,全文查找出現的所有匹配字符,返回的結果可以是多個。如果不加/g最多只會匹配一個
2,/i (ignorCase)表示匹配的時候不區分大小寫,
忽略大小寫,注意僅是忽略大小寫,并不忽略全半角。
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 ($')

該特性是非標準的,請盡量不要在生產環境中使用它!

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

語法

RegExp.rightContext
RegExp["$'"]

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

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

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

示例
使用 rightContext 和 $'

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

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

語法

RegExp.leftContext
RegExp['$`']

描述

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

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

示例
使用 leftContext 和 $`

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

規范

非標準。并不是任何現行規范的一部分。

相關文章

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

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

    一,js正則標志/g,/i,/m說明 1,/g (globle)表示該表達式將用來在輸入字符串中查找所有可能的匹配,全文查找出現的所有匹配字符,返回的結果可以是多個。如果不加/
    2020-05-11
  • javascript正則表達式RegExp入門圖文教程

    javascript正則表達式RegExp入門圖文教程

    正則表達式是啥? 正則表達式又叫作“規則表達式”(Regular Expression 即 RegExp),是計算機科學的一個概念。 正則表達式有什么用? 它常被用來搜索、替換那些符
    2020-05-11
  • js中的正則表達式入門(大量實例代碼)

    js中的正則表達式入門(大量實例代碼)

    什么是正則表達式呢? 正則表達式(regular expression)描述了一種字符串匹配的模式,可以用來檢查一個字符串是否含有某種子串、將匹配的子串做替換或者從某個字符串
    2020-05-11
  • linux 正則表達式grep實例分析

    linux 正則表達式grep實例分析

    在很多技術領域(如:自然語言處理,數據存儲等),正則表達式可以很方便的提取我們想要的信息,所以正則表達式是一個很重要的知識點! 一、概念 正則表達式(Regul
    2020-05-11
  • 正則表達式匹配閉合HTML標簽(支持嵌套)

    正則表達式匹配閉合HTML標簽(支持嵌套)

    任何復雜的正則表達式都是由簡單的子表達式組成的,要想寫出復雜的正則來,一方面需要有化繁為簡的功底,另外一方面,我們需要從正則引擎的角度去思考問題。關于正則
    2020-05-11
  • python 正則表達式語法學習筆記

    python 正則表達式語法學習筆記

    正則表達式(regular expression)描述了一種字符串匹配的模式(pattern),可以用來檢查一個串是否含有某種子串、將匹配的子串替換或者從某個串中取出符合某個條件的
    2020-05-11
  • linux下關于正則表達式grep的一點總結

    linux下關于正則表達式grep的一點總結

    正則表達式(Regular Expression)是用于描述一組字符串特征的模式,用來匹配特定的字符串。通過特殊字符+普通字符來進行模式描述,從而達到文本匹配目的工具。類似
    2020-05-11
  • 學會Python正則表達式,就看這20個例子(腳本之家修正版)

    學會Python正則表達式,就看這20個例子(腳本之家修正版)

    正則表達式是處理字符串的強大工具。作為一個概念而言,正則表達式對于Python來說并不是獨有的。但是,Python中的正則表達式在實際使用過程中還是有一些細小的差別。
    2020-05-11
  • 正則表達式[\s\S]*與[\w\W]* 什么意思

    正則表達式[\s\S]*與[\w\W]* 什么意思

    問: 例如:[a-z]表示從a到z之間的任意一個。 不是這樣的嗎?誰能給我解釋一下[ ]的所有用法?感謝 答: 是完全通配的意思,\s是指空白,包括空格、換行、tab縮進
    2020-05-11
  • layui 正則表達式驗證使用實例詳解

    layui 正則表達式驗證使用實例詳解

    前言 layui的正則表達式是在form表單中完成的。所以第一步要在你的html中加上指定的form 。 官方參考文檔:https://www.layui.com/doc/element/form.html 要保證引用
    2020-05-11

最新評論

买宝宝用品赚钱吗 3元以下的股票推荐 重庆时时彩走势图软件 股票买卖交易软件 天津十一选五今天第4五 福彩好运快3开奖结果 配资平台哪个好`找恒瑞行配资 安徽快三手机软件 江苏快三专家预测 河北20选5开奖结果查询果 无神计划pk10滚雪球 广东十一选五app哪家好 河南11选五今日走势图 甘肃快3基本走势图一任基本走势快三走势图 云南十一选五走势图! 百度内蒙古体十一选一定牛 广东11选五5开奖 牛牛