久久久久在线观看_又色又爽又黄的免费视频播放_一区中文字幕_日韩电影在线播放

今日頭條 焦點資訊 營銷之道 企業報道 淘寶運營 網站建設 軟件開發 400電話
  當前位置: 首頁 » 資訊 » 軟件開發 » 正文

正則表達式字符小結

放大字體  縮小字體 發布日期:2018-02-22  來源:企業800網  作者:新格網  瀏覽次數:905  【去百度看看】
核心提示:和之前我的 Makefile 速查筆記 一樣,正則表達式也是相對少用,但是一旦用起來也挺復雜的知識。所以本文記錄一下正則表達式的常用要點,備查。
正則表達式基本

匹配單個字符

匹配單個數字的寫法,可以是 “[0-9]” 也可以是 “\d”。

匹配單個非數字字符,則使用大寫 “\D”。

匹配 26 個字母的任意一個,使用 “[a-zA-Z]

匹配任意一個字符,使用點號 “.

匹配具體字符,則直接寫上去即可。比如 “abcd” 就是匹配它本身。如果遇到特殊字符,則需要進行轉義,轉義字符為 “\”。

匹配一個字符,使用中括號的做法稱為 “字符集”。中括號用于指定一個 “”,匹配這個集中的一個字符,如十六進制數 “[0-9a-fA-F]”。字符集內的點表示的是點號本身,但其他的特殊字符還是需要進行轉移,比如反斜杠字符。

使用量詞

貪心匹配

如果要表示某個規則的重復,則需要使用量詞。使用花括號表示重復次數。比如 8 個數字可以這樣表示:“\d{8}

花括號中的量詞可以變化,比如表示 7 到 8 個數字,則表示為 “\d{7,8}”。表示上限的右值可以不寫,比如 “{0,}” 是合法的,表示大于等于 0 個字符;但試圖單獨表示上限的 “{,10}” 則不合法,至少應該寫為 “{0,10}”。

加號 “+” 表示它左邊的元素數量為 “一個或多個”,等于 “{1,}” 的效果。所以加號也是特殊字符。

星號 “*” 表示它左邊的元素數量為 “零個或至少一個”,即 “{0,}”。

問號 “?” 表示 “零個或一個”,等同于 “{0,1}”。

懶惰匹配

上面的諸如 +*,匹配的時候都會使用 “貪心” 的模式,也就是匹配盡量多的個數。比如字符串 “55555”,使用 “5+” 去匹配時,會匹配到它能夠找到的最長字符串,即 “55555”。

如果在量詞后面加上問號,則使匹配模式變為 “懶惰” 的,也就是匹配最少的。比如使用 “5+?” 去匹配,則只會找到能夠匹配的最小字符 “5”.

以下都是可用的懶惰匹配表達式:+?, *?, {n,}?, {m,n}?

捕獲分組(類似于宏定義)

可以把表達式中的一部分 “捕獲” 起來,作為宏放在后邊引用。使用括號進行定義(捕獲),然后再定義的后面使用 “\1” 進行引用;如果是第二個捕獲,則使用 “\2”,以此類推。

分組一般都會被保存起來,但是當表達式非常長的時候,可能需要明確指明不保存該分組。比如使用這個格式 “(?:THE|The|the)”,就使用了 “?:” 標號來表示不要進行命名標記。

“或” 邏輯

使用 “|” 來鏈接兩個字段,提供 “或” 的邏輯。注意與括號搭配使用

“非” 邏輯

如果在集合 “[...]” 中使用字符 “^”,則表示 “非”,如 “[^0-9]” 等同于 “\D”。

簡單的模式匹配

以下是各種常用的單字符匹配列表:

指代類型模式備注數字\d
字母、數字、下劃線\w等效于 “[_a-zA-Z0-9]”非數字\D
非字母\W
制表符 Tab\t
Null 字符\0
Backspace[\b]
空格\s等效于 “[ \t\n\r]”Return\r
換行\n
單詞之間的空白\b這里只是匹配單詞的開始 / 結束,不消耗任何字符任意一個字符.行結束符無法使用這個符號匹配

邊界

本小節設計一個概念:斷言,又稱為 “零寬度斷言(zero-width asseration)”。這個概念不匹配字符,而是匹配字符串中的位置。

行的起始和結束

  • 使用 “^” 表示一行的開始

  • 使用 “$” 表示一行的終止

單詞邊界和非單詞邊界

比如要匹配單詞 “the”,則寫 “\bthe\b”。如果要匹配哥哥中間帶 “e” 的單詞,則可以寫 “\Be\B

可以使用 “\<” 匹配單詞開頭,“\>” 匹配單詞結尾。但是這兩個并不建議使用,因為新的匹配器可能不支持。

Unicode 字符和其他字符

正則表達式支持輸入 unicode 的值,如 “\u00e9”。注意 unicode 必須有四位十六進制位,大小寫均可。Javascript 還支持 “\xe9” 的寫法,然而 “\x00e9” 則是錯誤的。

相關推薦:

js正則表達式驗證時間格式實例

正則表達式 \v 元字符詳解

JS正則表達式要點分析

以上就是正則表達式字符小結的詳細內容,更多請關注php中文網其它相關文章!

 
 
[ 資訊搜索 ]  [ 加入收藏 ]  [ 告訴好友 ]  [ 打印本文 ]  [ 違規舉報 ]  [ 關閉窗口 ]

 
0條 [查看全部]  相關評論

 
網站首頁 | 關于我們 | 聯系方式 | 使用協議 | 版權隱私 | 網站地圖 | 排名推廣 | 廣告服務 | 積分換禮 | 網站留言 | RSS訂閱 | 吉ICP備11001726號-6
企業800網 · 提供技術支持