說明:如果您有任何疑問或想咨詢其他業務請撥打電話 400 685 0732
全網監測海量數據按需發布監測預警
實時把握輿情動態精準追溯信息源頭
正規匹配也就是正規表達式,是計算機科學當中的一個概念,也是在學習計算機過程當中必須要掌握的一個知識點。所以今天我們就來看一看,與正則匹配有關的相關知識,希望大家對這一個概念有一定的了解。
正則匹配——正則匹配是什么
正則表達式,又稱規則表達式。(英語:RegularExpression,在代碼中常簡寫為regex、regexp或RE),計算機科學的一個概念。正則表達式通常被用來檢索、替換那些符合某個模式(規則)的文本。
許多程序設計語言都支持利用正則表達式進行字符串操作。例如,在Perl中就內建了一個功能強大的正則表達式引擎。正則表達式這個概念最初是由Unix中的工具軟件(例如sed和grep)普及開的。正則表達式通常縮寫成“regex”,單數有regexp、regex,復數有regexps、regexes、regexen。
正則匹配如何使用
正則的常用方法
1test():在字符串中查找符合正則的內容,若查找到返回true,反之返回false.
用法:正則.test(字符串)
例子:判斷是否是數字
varstr=’374829348791′;
varre=/\D/;//\D代表非數字
if(re.test(str)){//返回true,代表在字符串中找到了非數字。
alert(‘不全是數字’);
}else{
alert(‘全是數字’);
}
正則表達式中有很多符號,代表著不同的意思,用來讓我們去定義不同的規則,比如上面\D,還有下面的這些:
\s:空格
\S:非空格
\d:數字
\D:非數字
\w:字符(字母,數字,下劃線_)
\W:非字符例子:是否有不是數字的字符
(下面會根據例子,依次講一些常用的字符,最后再作總結。)
2search():在字符串搜索符合正則的內容,搜索到就返回出現的位置(從0開始,如果匹配的不只是一個字母,那只會返回第一個字母的位置),如果搜索失敗就返回-1
用法:字符串.search(正則)
在字符串中查找復合正則的內容。忽略大小寫:i——ignore(正則中默認是區分大小寫的如果不區分大小寫的話,在正則的最后加標識i)
例子:在字符串中找字母b,且不區分大小寫
varstr=’abcdef’;
varre=/B/i;
//varre=newRegExp(‘B’,’i’);也可以這樣寫
alert(str.search(re));//1
match()在字符串中搜索復合規則的內容,搜索成功就返回內容,格式為數組,失敗就返回null。
用法:字符串.match(正則)
量詞:+至少出現一次匹配不確定的次數(匹配就是搜索查找的意思)
全局匹配:g——global(正則中默認,只要搜索到復合規則的內容就會結束搜索)
例子:找出指定格式的所有數字,如下找到123,54,33,879
varstr=’haj123sdk54hask33dkhalsd879′;
varre=/\d+/g;//每次匹配至少一個數字且全局匹配如果不是全局匹配,當找到數字123,它就會停止了。就只會彈出123.加上全局匹配,就會從開始到結束一直去搜索符合規則的。如果沒有加號,匹配的結果就是1,2,3,5,4,3,3,879并不是我們想要的,有了加號,每次匹配的數字就是至少一個了。
alert(str.match(re));//[123,54,33,879]
replace():查找符合正則的字符串,就替換成對應的字符串。返回替換后的內容。
用法:字符串.replace(正則,新的字符串/回調函數)(在回調函數中,第一個參數指的是每次匹配成功的字符)
|:或的意思。
有關正則匹配是如何使用的內容今天就介紹到這里了,正則匹配在使用過程當中比較頻繁,所以一定要注意它的常用方法,在平時也要多去練習。如果大家還想了解更多與之有關的內容,歡迎關注我們文軍營銷的官網。
推薦閱讀
正則表達式語法有哪些 正則表達式語法大全 | 文軍營銷空白行的正則表達式:\n\s*\r (可以用來刪除空白行) HTML標記的正則表達式:<(\S*?)[^>]*>.*?</\1>|<.*? /> (網上流傳的版本太糟糕,上面這個也僅僅能部分,對于復雜的嵌套標記依舊無能為力) 首尾空白字符的正則表達式:^\s*|\s*$或(^\s*)|(\s*$) (可以用來刪除行首行尾的空白字符(包括空格、...lua語言 lua語言特性是什么 | 文軍營銷應該能明白這是種不小的困擾沒有continue,白白增加了一層循環,增加了縮進層次,費電且看起來不方便只有一種數字類型(double),這不僅僅有性能問題,語義也不對不支持異常處理,默認的方式對編程不友好,不管如何強調保持語言的精簡,也不應該不支持異常處理不支持decorator,這是非常重要的語法糖先寫這么多,另外談談對上面一...
說明:如果您有任何疑問或想咨詢其他業務請撥打電話 400 685 0732