摘要:javascript中的正則表達式做爲至關重要的知識,本文將介紹正則表達式的相關知識和用法。
正則表達式(Regular Expression)是一門簡單語言的語法規範,是強大、便捷、高效的文本處理工具,它應用在一些方法中,對字符串中的信息實現查找、替換和提取操做。javascript
正則表達式在人們的印象中多是一堆沒法理解的字符,但就是這些符號卻實現了字符串的高效操做。javascript中的正則表達式做爲至關重要的知識,本文將介紹正則表達式的相關知識和用法。java
官方:正則表達式(regular expression)是一個描述字符模式的對象。 ECMAScript 的正則表達式
RegExp類表示正則表達式,而String和正則表達式都定義了進行強大的【模式匹配】express
和【文本檢索】與【替換】的函數。segmentfault
本人理解:功能和字符串相似,可是比字符串強大,更像是服務字符串的,例如表單驗證數組
1.經過new關鍵字聲明函數
var reg=new RegExp("hello","ig")工具
【注】 第一個參數爲正則表達式的主體,是字符串型,第二個參數爲修飾符 i 和 ggoogle
i的做用是忽略大小寫,g的做用是全局匹配,在書寫的時候,它們兩個先後順序沒有區別。spa
2.省略new關鍵字聲明
var reg=new RegExp("hello","ig");
3.經過正則表達式的聲明規則直接賦值
var reg=/hello/ig;
正則表達式對象只有兩個方法
text方法: 正則表達式.text(字符串) 在字符串中匹配這個正則表達式是否存在
若是匹配成功返回true,匹配失敗返回false。
exec方法:正則表達式.exec(字符串) 在字符串中匹配這個正則表達式是否存在,
匹配成功,返回一個裝有字符串的數組,匹配失敗返回null
正則表達式的更多功能體如今元字符
元字符的概念:在正則表達式中有特殊含義的字符
【注】 . 匹配單個的任意字符; []匹配單個在範圍內的字符;[^] 匹配單個不在範圍內的字符。
【注】x{n} 必須匹配n個x
【注】只須要了解前兩個,
^ 行首匹配 必須以這個正則開頭
$ 行尾匹配 必須以這個正則結尾
以上常見的元字符,我從別的地方獲取的表格資源,可是最重要的仍是練習!!
var str="google"; var reg=/google/; reg.text(str); //true
用 . 的 形式
var str="goggle"; var reg=/go.gle/; reg.text(str);//true .對應的單個字符爲任意
用[] 的形式
var str="go2gle"; var reg=/go[0-9]gle/; reg.text(str);//true []對應的字符必須符合[]中的範圍,不然爲false
用x? 的形式
var str="gogle"; var str1="google"; var reg=/goo?gle/; reg.text(str);//true reg.text(str1);//true 0? 表明能夠有0個O或者1個O,
用 x+ 的形式
var str="google"; var str1="googe";ar reg=/googl+e/; reg.text(str);//true reg.text(str1);//false l+ 表明至少存在一個l
用 ^ 的形式
var str="I am Li"; var str1="you are Li"; ar reg=/^you/; reg.text(str);//false reg.text(str1)//true 字符串必須以you開頭
精力有限,但願你們下去後,把因此元字符練習一遍,加深印象。
前面說到正則表達式是方便字符串的,那麼咱們今天在這裏也簡單羅列一下字符串中用到正則表達式的方法
在字符串中使用正則表達式的方法:
match() : 字符串.match(正則表達式) 在字符串中匹配,是否有符合正則表達式,
匹配成功,返回一個裝有子串的數組,匹配失敗,返回null
replace() : 字符串.replace(oldStr,newStr) 用newStr將oldStr替換,返回替換成功的新字符串
【注】乍一看和正則沒有關係,可是oldStr能夠用正則表達式的形式。
split() : 字符串.split(分隔符) 用分隔符將原字符串進行分割,返回剩下的子串組成的數組。
【注】分隔符通常爲字符串,也能夠爲正則表達式。
search(): 字符串.search(子串) 找到複合條件的子串第一次出現的位置,若是找到,返回第一次出現子串的位置,而且爲子串的首元素位置,不然返回-1。
以上所述是小編給你們介紹的Javascript中正則表達式的使用及基本語法,但願對你們有所幫助。