濮阳杆衣贸易有限公司

主頁 > 知識(shí)庫 > 如何快速學(xué)習(xí)正則表達(dá)式

如何快速學(xué)習(xí)正則表達(dá)式

熱門標(biāo)簽:宿遷智能外呼系統(tǒng)供應(yīng)商 鄂州人工智能電銷機(jī)器人軟件 400免費(fèi)電話去哪申請(qǐng) 實(shí)用地圖標(biāo)注app 地圖標(biāo)注商戶中心要收錢多少 線上教育ai外呼系統(tǒng) 菏澤智能ai電銷機(jī)器人銷售公司 地圖標(biāo)注字母的軟件 css百度地圖標(biāo)注位置顯示

正則表達(dá)式概念

正則表達(dá)式,又稱正規(guī)表示法、常規(guī)表示法(英語:Regular Expression,在代碼中常簡(jiǎn)寫為regex、regexp或RE),計(jì)算機(jī)科學(xué)的一個(gè)概念。正則表達(dá)式使用單個(gè)字符串來描述、匹配一系列符合某個(gè)句法規(guī)則的字符串。在很多文本編輯器里,正則表達(dá)式通常被用來檢索、替換那些符合某個(gè)模式的文本。

在日常工作中,我們經(jīng)常寫正則表達(dá)式,比如在表單中經(jīng)常用來驗(yàn)證用戶輸入的格式是否正確,我們就會(huì)用到正則表達(dá)式;可以把正則表達(dá)式看做是可以描述問題的語言,它就是專門為模式匹配而設(shè)計(jì)的

-------------------------------------------------------------------------------

正則表達(dá)式的語法

可以簡(jiǎn)單粗暴得把正則表達(dá)式理解為查找東西,舉個(gè)例子:要在"Hello World"中找到"world"這個(gè)單詞,先用直白的語言來描述就是查找"從w開頭到d結(jié)束的字母組合",使用正則來描述就是\bw\w*d\b,這個(gè)就是模式字符串,它由元字符和字面量字符組成

•常見的元字符如下:

•正則表達(dá)式中的旗標(biāo)

•正則表達(dá)式中的轉(zhuǎn)義字符


JS中的正則表達(dá)式

•兩種生成方式,

舉例:匹配0-9有沒有出現(xiàn)

復(fù)制代碼 代碼如下:

1、通過RegExp var reg=new RegExp('^[0-9]','g');
2、通過表達(dá)式字面量 var reg=/^[0-9]/g;

•兩種常用的方法

test()、exec()

復(fù)制代碼 代碼如下:

1、test方法:如果輸入字符串與模式相匹配,test就返回真,沒有則返回假
2、exec方法:如果輸入字符串與模式匹配,則返回一個(gè)數(shù)組,沒有匹配就返回null

/*test()方法,匹配是否有出現(xiàn)0-9*/
var reg1=/^[0-9]/;
reg1.test('There is no number');
//返回結(jié)果為false
/*exec()方法,匹配句子里面的單詞,兩個(gè)單詞一組*/
/*沒有設(shè)置全局旗標(biāo)*/
var reg2=/(\w+)\s(\w+)/;
reg2.test('There is no number');
//返回結(jié)果['There is','There','is']
//第0個(gè)元素是匹配的字符串,后面兩個(gè)元素分別是分組引用的子字符串
/*設(shè)置全局旗標(biāo)*/
var reg3=/(\w+)\s(\w+)/g;
reg3.test('There is no number');
//設(shè)置了全局旗標(biāo)的話,exec()會(huì)循環(huán)尋找
//第一次查找結(jié)果['There is','There','is'],第二次結(jié)果['no number','no','number'],第三次結(jié)果null 
exec()方法如果設(shè)置了全局旗標(biāo),在循環(huán)中使用必須要手動(dòng)設(shè)置其reg.lastIndex = 0;,否則它會(huì)間隔匹配

--------------------------------------------------------------------------------

字符串對(duì)象與正則表達(dá)式

•在string對(duì)象中有不少以正則表達(dá)式對(duì)象作為參數(shù)的方法

屬性 說明
match(regexp) 返回正則表達(dá)式regexp的匹配結(jié)果
replace(searchValue,replaceValue) 將searchValue(正則表達(dá)式或是字符串值)
替換為replaceValue,并返回響應(yīng)的字符串
search(regexp) 返回正則表達(dá)式regexp匹配位置的下標(biāo),沒有匹配就返回-1
split(separator,limit) 通過參數(shù)separator(字符串或是正則表達(dá)式)
對(duì)字符串進(jìn)行分割,并返回一個(gè)字符串?dāng)?shù)組

•match方法會(huì)返回元素與模式相匹配的字符串的數(shù)組,設(shè)置全局旗標(biāo)時(shí),會(huì)返回所有與模式相匹配的字符串?dāng)?shù)組,不設(shè)置時(shí)和exec方法相同

應(yīng)用例子:

var text='abc def ghi jkl';
//設(shè)置全局旗標(biāo)
text.match(/\w+/g);
//["abc","def","ghi","jkl"]
//不設(shè)置全局旗標(biāo)
text.match(/(\w+)\s(\w+)/);
//["abc def","abc","def"] •replace方法返回被替換的字符串,如果設(shè)置了全局旗標(biāo),則替換全部匹配了的字符串,否則只替換第一個(gè)匹配的字符串;replace中如果第一個(gè)參數(shù)用了分組,第二個(gè)參數(shù)能夠通過符號(hào)來標(biāo)識(shí)分組的前向引用

應(yīng)用例子:

var text="abc def ghi jkl";
//將空格替換為字符
text.replace(/\s/,',');
//"abc,def ghi jkl"
text.replace(/\s/g,',');
//"abc,def,ghi,jkl"
//對(duì)空格之前的字符分組,用逗號(hào)替換并前向移動(dòng)一位
text.replace(/(.)\s/g,",$1");
//"ab,cde,fgh,igkl" •在search與split方法中,正則表達(dá)式的全局旗標(biāo)不起作用

以上內(nèi)容是小編給大家介紹的快速學(xué)習(xí)正則表達(dá)式 的方法,希望對(duì)大家有所幫助!

您可能感興趣的文章:
  • jQuery如何用正則表達(dá)式驗(yàn)證手機(jī)號(hào)、身份證號(hào)、中文名稱
  • 在VS2008中使用正則表達(dá)式進(jìn)行查找和替換
  • 運(yùn)用正則表達(dá)式匹配所有表名
  • iOS App開發(fā)中Objective-C使用正則表達(dá)式進(jìn)行匹配的方法
  • java常用正則表達(dá)式
  • 玩轉(zhuǎn)python爬蟲之正則表達(dá)式
  • JavaScript正則表達(dá)式的分組匹配詳解
  • Java正則表達(dá)式提取字符的方法實(shí)例
  • 65條最常用正則表達(dá)式 你要的都在這里了
  • 正則表達(dá)式的字符串替換方法
  • jquery正則表達(dá)式驗(yàn)證(手機(jī)號(hào)、身份證號(hào)、中文名稱)
  • JavaScript正則表達(dá)式解析URL的技巧
  • 最全的常用正則表達(dá)式大全
  • 學(xué)習(xí)Java正則表達(dá)式(匹配、替換、查找)
  • 詳解Java正則表達(dá)式語法
  • 正則表達(dá)式日常收集整理(簡(jiǎn)單且實(shí)用)

標(biāo)簽:鞍山 六安 恩施 梅州 咸陽 綿陽 三亞 池州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《如何快速學(xué)習(xí)正則表達(dá)式》,本文關(guān)鍵詞  如何,快速,學(xué)習(xí),正則,表達(dá)式,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《如何快速學(xué)習(xí)正則表達(dá)式》相關(guān)的同類信息!
  • 本頁收集關(guān)于如何快速學(xué)習(xí)正則表達(dá)式的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    内乡县| 剑川县| 略阳县| 万州区| 宣威市| 庄浪县| 马龙县| 乌鲁木齐县| 同仁县| 若羌县| 乌拉特后旗| 随州市| 常州市| 浑源县| 万源市| 丹东市| 满城县| 尚志市| 河西区| 天津市| 建德市| 仙桃市| 江门市| 晋州市| 年辖:市辖区| 和田市| 沂南县| 永寿县| 娄底市| 张家口市| 武宁县| 宕昌县| 灌云县| 德清县| 乐陵市| 商都县| 上高县| 富平县| 酉阳| 玉屏| 永吉县|