正則表達式——Regular Expression基礎

正則表達式是由普通字符(例如字符 a 到 z)以及特殊字符(稱為"元字符")組成的文字模式。模式描述在搜索文本時要匹配的一個或多個字符串。正則表達式作為一個模板,將某個字符模式與所搜索的字符串進行匹配。

1、元字符

正則表達式語言由兩種基本字符類型組成:原義(正常)文本字符和元字符。元字符使正則表達式具有處理能力。所謂元字符就是指那些在正則表達式中具有特殊意義的專用字符,可以用來規定其前導字符(即位于元字符前面的字符)在目標對象中的出現模式。


2、特殊字符
特別字符 描述
( ) 標記一個子表達式的開始和結束位置。子表達式可以獲取供以后使用。要匹配這些字符,請使用 \( 和\ )
* 匹配前面的子表達式零次或多次。要匹配 * 字符,請使用 \*。
+ 匹配前面的子表達式一次或多次。要匹配 + 字符,請使用 \+
. 匹配除換行符 \n 之外的任何單字符。要匹配 . ,請使用\ .
? 匹配前面的子表達式零次或一次,或指明一個非貪婪限定符。要匹配 ? 字符,請使用 \?
^ 匹配輸入字符串的開始位置,除非在方括號表達式中使用,此時它表示不接受該字符集合。要匹配 ^ 字符本身,請使用 \^

3、限定符
字符 描述
( ) 標記一個子表達式的開始和結束位置
+ 匹配前面的子表達式一次或多次
? 匹配前面的子表達式零次或一次
{n} n 是一個非負整數,匹配確定的 n 次
{n,} n 是一個非負整數。至少匹配n 次
{n,m} m 和 n 均為非負整數,其中n <= m。最少匹配 n 次且最多匹配 m 次

4、元字符
元字符 正則表達式中的寫法 含義
. . 任意一個字符
\d \\d 0~9的任意一個數字
\D \\D 任意一個非數字字符
\s \\s 空白字符,如\t、\n
\S \\S 非空白字符
\w \\w 代表可用作標識符的字符
\S \\S 非空白字符
\p{Lower} \\p{Lower} 小寫字母
\p{Upper} \\p{Upper} 大寫字符
\p{ASCII} \\p{ASCII} ASCII字符
\p{Alpha} \\p{Alpha} 字母字符
\p{Digit} \\p{Digit} 十進制數字,即[0~9]
\p{Alnum} \\p{Alnum} 數字或字母字符
\p{Punct} \\p{Punct} 標點符號

5、限定符
限定修飾符 意義 示例
0次或1次 A?
* 0次或多次 A*
+ 0次或多次 A+
{n} 正好出現n次 A{n}
{n,} 至少出現n次 A{3,}
{n,m} 出現n到m次 A{2,6}

6、正則表達式的簡單例子
^[0-9]+abc$
  • ^ 為匹配輸入字符串開始的位置;
  • [0-9]+匹配多個數字,[0-9]匹配單個數字,+匹配一個或多個;
  • abc$匹配字母abc并以abc結尾,$為匹配輸入字符串的結束位置;
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容