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

主頁(yè) > 知識(shí)庫(kù) > 談?wù)勎覍?duì)正則表達(dá)式的認(rèn)識(shí)

談?wù)勎覍?duì)正則表達(dá)式的認(rèn)識(shí)

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

文章定位(目標(biāo)讀者)

•聽(tīng)說(shuō)過(guò)正則表達(dá)式,見(jiàn)過(guò)其使用的場(chǎng)合,但未能熟練掌握起來(lái)]的人
•至少看過(guò)一遍正則表達(dá)式30分鐘入門教程但未能完全掌握的人。

正則表達(dá)式是什么

正則表達(dá)式(Regular Expression)是一個(gè)概念,一種語(yǔ)法、句法的約定。每一種具體的語(yǔ)句(C#,Java,JavaScript)有其對(duì)于正則表達(dá)式的具體實(shí)現(xiàn),并且會(huì)有差別。正則表達(dá)式30分鐘入門教程講述的是.net(C#)的正則表達(dá)式。

JavaScript的正則表達(dá)式
本人擅長(zhǎng)的是JavaScript的正則表達(dá)式,這種正則表達(dá)式一個(gè)最大的特點(diǎn)是不支持零寬度正回顧后發(fā)斷言,原因很簡(jiǎn)單,js是解釋執(zhí)行的。細(xì)節(jié)等深入后再去理解。

語(yǔ)法查詢

•正則表達(dá)式30分鐘入門教程
•JavaScript RegExp 對(duì)象參考手冊(cè)
•JavaScript String 對(duì)象參考手冊(cè)中的部分方法例如match,replace,search。

應(yīng)用場(chǎng)景

正則表達(dá)式有兩大應(yīng)用場(chǎng)景 1. 檢測(cè)用戶的輸入是否合法; 2. 從一堆信息中提取出自己想要的部分信息;這兩大應(yīng)用場(chǎng)景最大的區(qū)別是,檢測(cè)輸入的合法性是針對(duì)整個(gè)輸入字符的,即要加上 ^去匹配字符串的開(kāi)始及$去匹配字符串的結(jié)束,否則意義不大,至少本人還沒(méi)遇到過(guò)不加上的情景。而提取信息的場(chǎng)景一般涉及到全局搜索g

簡(jiǎn)單的例子

光是看代碼,怎么也掌握不了正則表達(dá)式的,下面我們來(lái)實(shí)踐一下:打開(kāi)chrome(如果你還沒(méi)安裝chrome,那你不能算是本文的目標(biāo)讀者),當(dāng)然安裝了firebug的firefox或者高版本的IE也OK,,按F12,調(diào)出開(kāi)發(fā)人員工具。切換到如下的選項(xiàng)卡,輸入代碼

/Hello World/.test("Hello World")



OK,以上代碼就是用一個(gè)正則表達(dá)式去檢測(cè)一個(gè)字符串是否包含"Hello World"這個(gè)特定字符。在JS中,最常用的就是Regexp的直接量,即在兩條斜杠//中加上正則表達(dá)式的語(yǔ)法。也就是說(shuō),在正則表達(dá)式30分鐘入門教程提及到的語(yǔ)法例如[aeiou]、\(?0\d{2}[) -]?\d{8}等等,置于兩條斜杠//中就成為一個(gè)JS的正則表達(dá)式對(duì)象(/[aeiou]/、/\(?0\d{2}[) -]?\d{8}/),就擁有JavaScript RegExp 對(duì)象參考手冊(cè)中提到的方法,也能應(yīng)用到JavaScript String 對(duì)象參考手冊(cè)的部分方法中,才能應(yīng)用到實(shí)際編程中,具體參考上面的Hello World 示例代碼。最后,根據(jù)我自己的經(jīng)驗(yàn),要自己去做一個(gè)實(shí)踐,例如

1.把本篇文章中body部分的內(nèi)容提取出來(lái),或者把所有的超連接中的文字提取出來(lái)

2.設(shè)計(jì)一個(gè)表單,驗(yàn)證用戶的輸入,具體的驗(yàn)證可以參考常用正則表達(dá)式

最后的話

以上是我本人學(xué)習(xí)正則表達(dá)式的一些體會(huì),當(dāng)時(shí)的體會(huì)就是:看到了很多語(yǔ)法細(xì)節(jié),但不知道如何付諸實(shí)踐,在自己進(jìn)行了一個(gè)小實(shí)踐后,終于明白。在此進(jìn)行整理。

您可能感興趣的文章:
  • 正則表達(dá)式速查表

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

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《談?wù)勎覍?duì)正則表達(dá)式的認(rèn)識(shí)》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    红河县| 湖北省| 朝阳市| 吉首市| 城步| 安丘市| 庆元县| 甘孜| 通山县| 隆林| 仙游县| 黄平县| 阿拉善盟| 旬阳县| 土默特右旗| 海晏县| 杭州市| 天门市| 双桥区| 梁平县| 永善县| 台南市| 涪陵区| 龙海市| 砀山县| 永泰县| 兴安盟| 澜沧| 茶陵县| 库伦旗| 百色市| 沂水县| 左权县| 雷波县| 和林格尔县| 莆田市| 江津市| 连山| 司法| 新巴尔虎左旗| 三原县|