中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

秒懂正則表達式

發布時間:2020-07-01 20:17:30 來源:網絡 閱讀:536 作者:lipeiyong 欄目:web開發

正則表達式的功能很強大,但是他的語法往往難以學會和掌握,即使學會了也容易忘記,即掌握的不深刻。下面我就試圖通過簡單的講解讓大家迅速深刻的掌握正則表達式。本文以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

另外可以看博主視頻課:秒懂正則表達式

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永昌县| 永平县| 凌云县| 漠河县| 乳山市| 建昌县| 且末县| 新宁县| 龙江县| 聂拉木县| 荔波县| 定陶县| 河北区| 扶绥县| 青冈县| 资源县| 北辰区| 建湖县| 南部县| 华蓥市| 江川县| 大方县| 城步| 棋牌| 鄂尔多斯市| 两当县| 綦江县| 墨竹工卡县| 鲁甸县| 内江市| 泗洪县| 称多县| 罗田县| 凉山| 嘉祥县| 如东县| 贵州省| 吴江市| 福泉市| 托里县| 大城县|