您好,登錄后才能下訂單哦!
正則表達式的功能很強大,但是他的語法往往難以學會和掌握,即使學會了也容易忘記,即掌握的不深刻。下面我就試圖通過簡單的講解讓大家迅速深刻的掌握正則表達式。本文以javascript中的正則表達式語法為范例講解。
一、從最簡單的表達式開始
所謂最簡單就是沒有任何算符,表達式就是目標字符串。
示例文本:The company denied using a "hunger sales" strategy and said the products will be delivered starting April 8.
匹配company:/company/
匹配products:/products/
二、方括號[]的使用
含義:方括號中整體代表一個字符,所代表的字符就是方括號中所列出的字符中的其中一個。
示例文本:A teacher began his class by holding up a glass with some water in it.
同時匹配class和glass:/[cg]lass/g
注:表達式末尾的g代表全局匹配,既global
三、連接符-的使用
含義:連接符表示范圍,連接符左右兩端的字符為范圍的第一個和最后一個字符。
示例文本:Activity set to honor PLA Navy birthday.
匹配所有的大寫字母:
1:/[ABCDEFGHIJKLMNOPQRSTUVWXYZ]/g
2:/[A-Z]/g
四、脫字符^的使用
含義:脫字符放在方括號內的第一個位置,表示不匹配方括號中列出的字符。
示例文本:Activity set to honor PLA Navy birthday.
與任何不是字符A的字符匹配:/[^A]/g
與任何不是大寫字母的字符匹配:/[^A-Z]/g
五、問號?的使用
含義:問號前面的字符有或無。
示例文本:color is equal to colour.
同時匹配color和colour:/colou?r/g
*六、星號的使用**
含義:星號前面的字符不出現或出現若干次。
示例文本:ba!baaa!baabaabb!baaaaaaa!abbbaabbab!
匹配ba! baaa! b! baaaaaaa!等的表達式:/ba*!/g
匹配ba! baaa! baabaabb! baaaaaaa! abbbaabbab!的表達式:/[ab]*!/g
七、加號+的使用
含義:加號前面的字符出現一次或若干次,即至少出現一次。
示例文本:ba!baaa!baabaabb!baaaaaaa!abbbaabbab!
將 /ba*!/g 改為 /ba+!/g 的匹配結果是:ba! baaa! baaaaaaa!
八、點號 . 的使用
點號是通配符,表示與任何單個字符(回車符除外)相匹配。
經常與星號結合使用,.*可以表示任意字符串。
示例文本:The company denied using a "hunger sales" strategy and said the products will be delivered starting April 8.
匹配using到products的字符串:/using.*products/g
九、常用錨號的使用
含義:錨號是讓表達式匹配文本的特定位置的符號。
示例文本:The apple is Green.the other one is also green
脫字符(^),表示匹配行首
例如匹配行首的The:/^the/ig
注:表達式后面的i字母表示忽略大小寫。
美元符($),表示匹配行尾
例如匹配行尾的green:/green$/ig
詞界(\b)
例如要匹配單詞the,而不是other中包含的‘the’: /\bthe\b/ig
十、析取算符|與括號()的使用
含義:析取算符表示或關系;括號中是子正則表達式。
示例文本:A cat is talking with a dog,guppies are the complex form of guppy.
匹配cat、dog和guppy的表達式:/cat|dog|guppy/g
匹配guppy與guppies的表達式:/gupp(y|ies)/g
十一、計數符的使用
含義:計算符來規定它前面的字符或子表式出現的次數。
示例文本:ba!baaa!baabaabb!baaaaaaa!abbbaabbab!
星號*:表示前面的字符或子表達式出現零個或多個 /ba*!/g
加號+:表示前面的字符或子表達式出現一個或多個 /ba+!/g
問號?: 表示前面的字符或子表達式出現零個或一個(出現或不出現) /ba?!/g
{n}:表示前面的字符或子表達式出現n個
例如a要出現3次:/ba{3}!/g
{n,m}: 表示前面的字符或子表達式出現n到m個
例如a出現的次數要在3到9之間:/ba{3,9}!/g
{n,}: 前面的字符或子表達式至少出現n個 /ba{5,}!/g
例如a至少要出現5次:/ba{5,}!/g
另外可以看博主視頻課:秒懂正則表達式
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。