(1)字元
語法說明
表示式可匹配
任意普通字元
匹配自身
abcabc
\轉義字元
a\\b
a\b.
匹配除了換行符以外的任何字元 相當於\w的加強版(\w看下面一張表)可匹配空格
.+a c1b
[…]字符集 可以都寫出來也可以寫個範圍如[a-z],第乙個字元如果是\^表示取反,如[\^a]表示a除外的所有字元,如果字符集內有特殊字元,需要轉義
a[bc]d
abd,acd
(2)預定義字符集
語法說明
表示式可匹配
\d數字[0-9]
\d1,2,3….
\d非數字[^\d]
\da,b,c…
\s空白字元
a\sc
a c\s
非空白字元
a\sc
abc\w
匹配字母,數字,下劃線[a-za-z0-9_]
\w+a_b 1
\w匹配任意不是字母,數字,下劃線 的字元
(3)量詞
語法說明
表示式可匹配
*匹配字元重複0次或無限次
ab*a,ab,abb,abbbb…
+匹配字元重複1次或無限次
ab+ab, abb, abbb…
?匹配字元重複0次或1次
ab?a, ab
匹配字元重複n次
abcabbc
匹配字元重複n到m次
abcabc, abbc
匹配字元至少重複n次
abcabbc
(4)邊界匹配
語法說明
表示式可匹配
^匹配行或字串的開頭^aa
$匹配行或字串的結尾c$c
\a匹配字串的開頭
\aaa
\z匹配字串的結尾
c\zc
\b不會消耗任何字元只匹配乙個位置(單詞邊界,\w能表示的範圍)
\bb\b
a b c的b,a!b!c的b
(5)邏輯分組
語法說明
表示式可匹配
|或,左右表示式匹配乙個即可
ab|cd
ab,cd
(…)乙個左右括號為乙個分組,分組有自己的編號,做左到右每遇到乙個左括號分組編號就+1。分組後面可接量詞,在分組中的|範圍也僅僅在這個分組內有效
(a)aa
(6)特殊構造(預查)
語法說明
表示式可匹配
(?:)
非獲取匹配
a(?:bc|cd)
abc,acd
(?=…)
之後的內容需要匹配
a(?=\d)
匹配a後面是數字的字串
(?!…)
之後的內容需要不匹配
a(?!\d)
匹配a後面不是數字的字串
(?<=…)
之前的內容需要匹配
(?<=\d)a
匹配a前面是數字的字串
(?之前的內容需要不匹配
(?匹配a前面不是數字的字串
以上是目前我總結出來的需要熟稔於心的基本的正則語法。當然,網上同樣的總結也有很多,留乙份供自己日後參考用。
最後演示一下我推薦的那個**(匹配ip位址),看起來是不是很棒?一目了然
正規表示式必知必會
1.exactly n of the preceding element.只能匹配連續n個字元 n or more of the preceding element.可以匹配n,或任意大於n個連續字元。貪婪匹配,會盡量匹配多的字元 between m and n of the preceding e...
正規表示式必知必會 附
正規表示式測試器 html注釋 基本元字元 匹配任意單個字元 邏輯或操作符 匹配字元集合中的乙個字元 對字元集合求非 在 中定義乙個區間 對下乙個字元轉義 數量元字元 匹配前乙個字元 子表示式 的零次或多次重複 懶惰型版本 匹配前乙個字元 子表示式 的一次或多次重複 懶惰型版本 匹配前乙個字元 子表...
正規表示式必知必會 一
定義 正規表示式 regular expression,簡稱regex 是一種處理文字的工具,並不算得上是一門 語言 可以理解為內嵌於其它語言中的 迷你語言 用途搜尋,替換 語法 正規表示式區分大小寫 由字元和具有特殊含義的元字元構成 對於大部分的元字元,當要使用它們本身時,一般需要使用反斜線 進行...