最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

java正則表達(dá)式詳解

來源:懂視網(wǎng) 責(zé)編:李贏贏 時間:2021-12-24 18:38:34
文檔

java正則表達(dá)式詳解

1、正則表達(dá)式簡介:普通方式:varreg=/表達(dá)式/附加參數(shù);構(gòu)造函數(shù)方式:varreg=newRegExp。2、正則表達(dá)式的操作:表達(dá)式對象(RegExp)方法:exec(str),返回str中與表達(dá)式相匹配的第一個字符串,而且以數(shù)組的形式表現(xiàn)。
推薦度:
導(dǎo)讀1、正則表達(dá)式簡介:普通方式:varreg=/表達(dá)式/附加參數(shù);構(gòu)造函數(shù)方式:varreg=newRegExp。2、正則表達(dá)式的操作:表達(dá)式對象(RegExp)方法:exec(str),返回str中與表達(dá)式相匹配的第一個字符串,而且以數(shù)組的形式表現(xiàn)。

js正則表達(dá)式是什么,怎么使用呢?不知道的小伙伴來看看小編今天的分享吧!

1、正則表達(dá)式簡介:

普通方式:var reg=/表達(dá)式/附加參數(shù)

附件參數(shù):

g:代表可以進(jìn)行全局匹配。
i:代表不區(qū)分大小寫匹配。
m:代表可以進(jìn)行多行匹配。

上面三個參數(shù),可以任意組合,代表復(fù)合含義,當(dāng)然也可以不加參數(shù)。
舉例:
var reg=/a*b/;
var reg=/abc+f/g;

構(gòu)造函數(shù)方式:var reg=new RegExp(“表達(dá)式”,”附加參數(shù)”);

舉例:
var reg=new RegExp(“a*b”);
var reg=new RegExp(“abc+f”,”g”);

兩者區(qū)別:

普通方式中的表達(dá)式必須是一個常量字符串,而構(gòu)造函數(shù)中的表達(dá)式可以是常量字符串,也可以是一個js變量,例如根據(jù)用戶的輸入來作為表達(dá)式參數(shù)等等:var reg=new RegExp(document.forms[0].exprfiled.value,”g”);

2、正則表達(dá)式的操作:

表達(dá)式對象(RegExp)方法:

①exec(str),返回str中與表達(dá)式相匹配的第一個字符串,而且以數(shù)組的形式表現(xiàn),當(dāng)然如果表達(dá)式中含有捕捉用的小括號,則返回的數(shù)組中也可能含有()中的匹配字符串,例如:
var regx=//d+/;
var rs=regx.exec(“3432ddf53”);
返回的rs值為:{3432}
var regx2=new RegExp(“ab(/d+)c”);
var rs2=regx2.exec(“ab234c44”);
返回的rs值為:{ab234c,234}
另外,如果有多個合適的匹配,則第一次執(zhí)行exec返回一個第一個匹配,此時繼續(xù)執(zhí)行exec,則依次返回第二個第三個匹配。例如:
var regx=/user/d/g;
var rs=regx.exec(“ddduser1dsfuser2dd”);
var rs1=regx.exec(“ddduser1dsfuser2dd”);
則rs的值為{user1},rs的值為{rs2},當(dāng)然注意regx中的g參數(shù)是必須的,否則無論exec執(zhí)行多少次,都返回第一個匹配。后面還有相關(guān)內(nèi)容涉及到對此想象的解釋。

②test(str),判斷字符串str是否匹配表達(dá)式,返回一個布爾值。例如:
var regx=/user/d+/g;
var flag=regx.test(“user12dd”);
flag的值為true。

String對象方法:

①match(expr),返回與expr相匹配的一個字符串?dāng)?shù)組,如果沒有加參數(shù)g,則返回第一個匹配,加入?yún)?shù)g則返回所有的匹配
例子:
var regx=/user/d/g;
var str=“user13userddduser345”;
var rs=str.match(regx);
rs的值為:{user1,user3}

②search(expr),返回字符串中與expr相匹配的第一個匹配的index值。
例子:
var regx=/user/d/g;
var str=“user13userddduser345”;
var rs=str.search(regx);
rs的值為:0

③replace(expr,str),將字符串中匹配expr的部分替換為str。另外在replace方法中,str中可以含有一種變量符號$,格式為$n,代表匹配中被記住的第n的匹配字符串(注意小括號可以記憶匹配)。
例子1:
var regx=/user/d/g;
var str=“user13userddduser345”;
var rs=str.replace(regx,”00”);
rs的值為:003userddd0045
例子2:
var regx=/u(se)r/d/g;
var str=“user13userddduser345”;
var rs=str.replace(regx,”$1”);
rs的值為:se3userdddse45
對于replace(expr,str)方法還要特別注意一點(diǎn),如果expr是一個表達(dá)式對象則會進(jìn)行全局替換(此時表達(dá)式必須附加參數(shù)g,否則也只是替換第一個匹配),如果expr是一個字符串對象,則只會替換第一個匹配的部分。

例如:
var regx=“user”
var str=“user13userddduser345”;
var rs=str.replace(regx,”00”);
rs的值為: 0013userddduser345

④split(expr),將字符串以匹配expr的部分做分割,返回一個數(shù)組,而且表達(dá)式是否附加參數(shù)g都沒有關(guān)系,結(jié)果是一樣的。
例子:
var regx=/user/d/g;
var str=“user13userddduser345”;
var rs=str.split(regx);
rs的值為:{3userddd,45}

以上就是小編今天的分享了,希望可以幫助到大家。

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

java正則表達(dá)式詳解

1、正則表達(dá)式簡介:普通方式:varreg=/表達(dá)式/附加參數(shù);構(gòu)造函數(shù)方式:varreg=newRegExp。2、正則表達(dá)式的操作:表達(dá)式對象(RegExp)方法:exec(str),返回str中與表達(dá)式相匹配的第一個字符串,而且以數(shù)組的形式表現(xiàn)。
推薦度:
標(biāo)簽: java 正則表達(dá)式
  • 熱門焦點(diǎn)

最新推薦

猜你喜歡

熱門推薦

專題
Top