正則表達式

正則表達式

正則表達式使用單個字符串來描述、匹配一系列符合某個句法規則的字符串。在不少文本編輯器裏,正則表達式一般被用來檢索、替換那些符合某個模式的文本。正則表達式

實踐出真知:在線正則表達式編輯器

元字符

元字符 說明
. 匹配除換行符之外的任意字符
\w 匹配字母或數字或下劃線
\s 匹配任意的空白符
\d 匹配數字
\b 匹配單詞開始或者結尾
^ 匹配行首
$ 匹配行尾

特殊字符

特殊字符 描述
( ) 匹配一個子表達式並記憶,能夠供後面使用
[ ] 匹配單個字符
{ } 重複模式
| 分支匹配,一般配合()使用

反義

語法 說明
\W 匹配任意單個不是字母,S數字,下劃線的字符
\S 匹配任意單個不是空白符的字符
\D 匹配任意單個非數字的字符
\B 匹配不是單詞開頭和結束的位置
[^x] 匹配單個除了x之外的任意字符
[^one] 匹配單個除了one這幾個字母的任意字符

重複模式{}

  • 默認貪婪模式
  • 懶惰模式(重複後加?)
語法 說明(和以前緊鄰元素組合起來表示以前緊鄰元素出現次數)
* 重複零次或更屢次
+ 重複一次或更屢次
? 重複零次或一次
{n} 重複n次
{n,} 重複n次或更屢次
{n,m} 重複n到m次

反向引用()

  • 用括號括起來的內容能夠被記憶,能夠使用序列\1\2來匹配前面括號匹配中的字符串,數字取決因而第幾個括號
  • 分組命名(?<name>exp)
  • 非捕獲型括號
    • (?:)不會記憶該括號中的內容,效率更高

環視功能

  1. 環視功能不匹配任何字符,只匹配文本中的特定位置,這一點與單詞分界符「\b」、錨點「^」和「$」類似。可是,環視比它們更加通用。
  2. 環視不會佔用字符
  3. 順序環視和逆序環視先後順序是可有可無的
類型 正則表達式 匹配成功的條件
確定順序環視 (?=...) 子表達式能夠匹配右側文本
確定逆序環視 (?<=...) 子表達式能夠匹配左側文本
否認順序環視 (?!...) 子表達式不能夠匹配右側文本
否認逆序環視 (?<!...) 子表達式不能夠匹配左側文本

元字符優先級

運算符 描述
\ 轉義符
(), (?:), (?=), [] 圓括號和方括號
*, +, ?, {n}, {n,}, {n,m} 重複模式
^, $, \任何元字符、任何字符 元字符和普通字符
|
相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息