正則表達式

RegExp知識大綱
修飾符
i : 表示忽視大小寫
g : 表示全局匹配
m : 表示多行匹配(只有在匹配首尾的時候才會用到)
解釋:要想匹配一段字符串中的什么什么開頭的字符,就必須先使用全局匹配,這樣才可以找到所有的符合字符串,但是有一點是,字符串換行才會有首尾,但是g又不會識別'\n',不會認(rèn)為他是開頭,這時候就要用到m,來配合執(zhí)行 全局操作
表達式
/asdfdaf/匹配特定的字符串
[0-9]表示某一位為0~9
[A-Z]表示匹配字母A~Z
[a-z]表示某一位為a~z
[0-9A-z]表示匹配09或者AZ或者a~z
[fdahg]表示只能是這幾個字符中的一個
[^fdahg]表示只能是除這之外的其他字符
/(abc|bcd)/表示或者的關(guān)系(|)
元字符
\w 表示這一位必須是09Az還有'_'(下劃線)
\W 表示這一位與\w相反
\d 表示數(shù)字0~9
\D 表示與\d相反
\s 表示空白字符(\r行結(jié)束 \t制表符 \n換行符 \f換頁符 \v垂直制表符)
\S 表示與\s相反
*/ /里面表示空格,直接寫在正則里面就可以匹配
\b 表示匹配單詞邊界eg:/\ba\b/表示匹配a的前面是單詞邊界,后面也是單詞邊界,就是說a 是一個單詞
\B 表示非單詞邊界
. ===[^\r\n]表示除了\r和\n,也就是說他無法識別\r\n,除此之外的都可以
\u(00~10)0000 - \u(00~10)ffff 可以表示第一(十)層所有的編碼
量詞
貪婪匹配:能多就不少。。非貪婪匹配就是在量詞后面加上?
n+ 表示n連續(xù)出現(xiàn)的次數(shù)可以是1~多
n
表示n出現(xiàn)的次數(shù)可以是0~多個
n? 表示n出現(xiàn)的次數(shù)為{0,1}(注意費貪婪匹配的時候會有兩個問號)
n{x} 表示每次出現(xiàn)的個數(shù)為x
n{x, y} 表示每次出現(xiàn)的個數(shù)為{x,y}
n{x, } 表示每次出現(xiàn)的個數(shù)為{x, }與n+效果一樣
^ 表示開頭結(jié)尾 reg.exec(str)可以匹配符合的字符串,但是每次只會返回符合的一個,即使里面加上g,配合reg.lastIndex使用 exec()執(zhí)行之后會返回一個類數(shù)組,類數(shù)組中有匹配的值,index:光標(biāo)的位置,配合lastIndex,原串三個值, 在執(zhí)行就會匹配下一個符合的字符串,index就會發(fā)生變化。直到匹配結(jié)束,返回null,然后從頭在開始匹配 /(\w)\1(\w)\2(\w)\3/(\w)會成為子表達式,后繼可以用提取出來如果想要匹配重復(fù)的字符可以使用表示匹配aabbcc類型的字符串,其中\(zhòng)1表示匹配第一個()里的內(nèi)容后面 也可以跟多個\1\1\1,在使用reg.exec()方法的時候會出現(xiàn)()里選中的值,出現(xiàn)在匹配值的后面
str.search(reg),匹配找到的字符串的索引位置,不會執(zhí)行全局匹配,索引不會發(fā)生變化,如果里面填的不是reg 那么,會匹配所填字符串的索引位置
str.match(reg): 輸出匹配的字符
str.split(reg):按照reg來分割str(于預(yù)期的想的不一樣)
重點 str.replace():原來的意思是可以替換一個字符 但是運用了正則表達式,就可以為所欲為了。
$符號會引用正則表達式里面的(\w)\1表示將\w的子表達式復(fù)制一份(也就是\w所代表的值)

,倒置字符串的實現(xiàn) 替換的內(nèi)容也可以是一個函數(shù)里面有參數(shù)分別是按照reg匹配之后獲取的的字符串(表示),還有就是子表達式用1,$2……
正向預(yù)查和非正向預(yù)查
? = n 作為限制條件表示匹配任何其后緊跟字符串n的字符串
? ! n 表示匹配任何其后沒有跟字符串n的字符串
所有關(guān)于正則表達式的內(nèi)容就這些了
總結(jié):(1)遇到匹配重復(fù)出現(xiàn)的的字符串,就會用到(\w)\1*

.(除了\r,\n之外所有的字符) 與 . (只匹配.) 表示的含義不一樣

(\w)\1 ---->匹配兩個重復(fù)的字符

((\w)\1)+ ---->匹配多個 兩個重復(fù)的字符2個,4個,……

(\w)\1+ ---->匹配{2,}重復(fù)的字符

匹配兩個字符之間的空白用 /()/g

(\w)\1* 和 ((\w)\1)* 結(jié)果是不一樣的

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1,正則表達式的作用:匹配一個字符串中的一些內(nèi)容 2,聲明和使用: 1)構(gòu)造函數(shù) var reg=new RegE...
    WDL_1a39閱讀 866評論 0 1
  • //定義正則表達式的兩種方式,在用構(gòu)造函數(shù)的時候,有些地方是要加轉(zhuǎn)義字符的。 //1、字面量。 var reg =...
    xiaobing0324閱讀 566評論 0 0
  • 兩種創(chuàng)建方式 ● 直接量 var reg = /abc/i; // i 忽略大小寫 g 全局匹配 m 多行匹配 ...
    青哥0529閱讀 421評論 0 0
  • 前言 作為一個程序員,要出去裝逼,手中必備的技能就是正則表達式。程序員的正則表達式,醫(yī)生的處方和道士的鬼畫符,都是...
    Layzimo閱讀 688評論 0 6
  • 概述 正則表達式是一種描述字符串結(jié)果的語法規(guī)則,是一個特定的格式化模式,可以匹配、替換、截取匹配的字符串。常用的語...
    醉于麥田閱讀 558評論 0 0

友情鏈接更多精彩內(nèi)容