国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Regex > 正文

又一篇正則表達式學習筆記

2020-03-16 21:17:41
字體:
來源:轉載
供稿:網友
里面涉及到了一些正則表達式的高級技巧,特別推薦給大家
 
 
1. /b:表示單詞的開頭或者結尾,可能是空格、標點符號或者換行,但是/b不匹配其中的任何一個,這是指代這些元素中的任一個位置。 
示例:/bhi/b:查找文本中所有的“hi”單詞,但是不包括him、history等字樣 
1.1 ^:匹配字符串的開始,特指一個段落的起始。 
1.2 $:匹配字符串的結束。特指一個段落的結尾,這兩個都是/b的子集。 
重復: 
2. *:表示*前面的內容重復出現任意多次,".*"連在一起就表示任意數量的不包含換行符的字符。 
示例:/bhi/b.*/bLucy/b:先是一個hi,然后任意多個字符(但不能有回車),最后是一個單獨的單詞Lucy。 
2.1 +:同樣表示數量,但是+必須是1次或以上,不包括0次,而*是指任意數量,包括0次重復。 
2.2 {n}:數量控制,前方的字符精確重復n次。 
2.3 {n,m}:數量控制,前方的字符重復n到m次,n<=m。 
2.4 ?:重復0次或1次。 
3. .: 表示任意字符,不包含回車換行。 
4. /d:匹配任意的數字(0,1,2……9) 
示例:0/d/d-/d{7}:查找以0開頭,后兩個是數字,然后是一個連字符"-",接著是7個數字的字符串,如:025-8224110。 
5. /s:匹配任意的空白符,包括空格、制表符(tab鍵)、換行符、中文全角空格等。 
6. /w:匹配字母、數字、下劃等。 
示例1:/ba/w*/b:匹配以字母"a"開頭,然后是任意多個任意字符不包括空格等空白符,然后一個單詞結束符。其意義就是以a開頭的所有單詞。 
示例2:/b/w{6}/b:匹配正好是6個字符長度的單詞。 
7. []:任意匹配一個方括號中存在的字符。 
示例:[abc]/w{4}/b:以a、b、c中的任意一個字符為開頭,后面有4個字母的單詞。 
反義 
8. /D /S /W /B 這些元字符的大寫形式分別表示他們表示的集合的反義。 
示例:/D:表示不是數字的所有字符,如:abced 
8.1 [^x]:表示不是x字符的所有字符 
8.2 [^xyz]:表示不是x、y、z中任一種的字符 
9.替換 
"|":使用"|"符號可以實現邏輯或運算,配合小括號"()"的使用,可以實現不同條件的或運算。 
10分組 
"()":用括號包圍住已經實現的表達式,可以方便的繼續使用重復、替換等操作。 
示例:/b(/w+/b/s+)/1+/b:將第一次出現的括號表達式用/1表示,可以匹配go go go 
自學到這里已經非常不錯了,下面繼續研究正則表達式的高級屬性 
斷言: 
(?=express)這是一種假定條件,可以放在表達式的后方,已驗證前方的字符后面的表達式是否為express,但是并不包含后方的express。 
示例:/b/w*(?=ing/b):取得后綴為ing的所有單詞的前綴。 
(?<=express)前置斷言,放于表達式首部,已驗證字符串前方的表達式是否符合express,同樣也不包含express本身。 
示例:(?<=/bre)/w*/b:取得所有前綴為re的單詞的后面部分 
注釋: 
(?#)以這種形式來注釋正則表達式。 
示例:2[0-4]/d(?#200-249) 
懶惰模式匹配 
*:匹配最多的字符 
*?:匹配最少的字符
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 呼玛县| 台东县| 成安县| 墨江| 隆子县| 永城市| 台湾省| 新密市| 澄迈县| 秦安县| 内丘县| 七台河市| 金坛市| 双鸭山市| 兴国县| 潍坊市| 芜湖县| 井陉县| 睢宁县| 江油市| 泰宁县| 观塘区| 邵阳县| 南康市| 定结县| 车险| 垫江县| 阜平县| 施甸县| 印江| 桐梓县| 溧水县| 三明市| 昌图县| 郑州市| 普陀区| 林西县| 花莲县| 平阳县| 中宁县| 镇江市|