正則表達式
網址(URL)
[a-zA-z]+://[^\s]*IP地址(IP Address)
((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)電子郵件(Email)
\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*QQ號碼
[1-9]\d{4,}HTML標記(包含內容或自閉合)
<(.*)(.*)>.*<\/\1>|<(.*) \/>密碼(由數字/大寫字母/小寫字母/標點符號組成,四種都必有,8位以上)
(?=^.{8,}$)(?=.*\d)(?=.*\W+)(?=.*[A-Z])(?=.*[a-z])(?!.*\n).*$日期(年-月-日)
(\d{4}|\d{2})-((1[0-2])|(0?[1-9]))-(([12][0-9])|(3[01])|(0?[1-9]))日期(月/日/年)
((1[0-2])|(0?[1-9]))/(([12][0-9])|(3[01])|(0?[1-9]))/(\d{4}|\d{2})時間(小時:分鐘, 24小時制)
((1|0?)[0-9]|2[0-3]):([0-5][0-9])漢字(字符)
[\u4e00-\u9fa5]中文及全角標點符號(字符)
[\u3000-\u301e\ufe10-\ufe19\ufe30-\ufe44\ufe50-\ufe6b\uff01-\uffee]中國大陸固定電話號碼
(\d{4}-|\d{3}-)?(\d{8}|\d{7})中國大陸手機號碼
1\d{10}中國大陸郵政編碼
[1-9]\d{5}中國大陸身份證號(15位或18位)
\d{15}(\d\d[0-9xX])?非負整數(正整數或零)
\d+正整數
[0-9]*[1-9][0-9]*負整數
-[0-9]*[1-9][0-9]*整數
-?\d+小數
(-?\d+)(\.\d+)?不包含abc的單詞
\b((?!abc)\w)+\b正則表達式:是指一個用來描述或者匹配一系列符合某個句法規則的字符串的單個字符串,簡單說,就是我們寫個模板,然後去匹配字符串。
下面我們來看看一些基本的正則表達式的語法:
:將下個字符標記爲一個特殊的字符、一個原義字符、一個向後引用或者一個八進制轉義符例如“n”就是匹配一個換行符。
^:匹配開始位置,^(a)這個就匹配開頭必須爲a。
$:匹配結束位置,$(a)這個就匹配結尾必須爲a。
:匹配前面的子表達式零次或者多次,如“xu”這個表達式就能夠匹配“x”和“xuu”。
+:匹配前面的子表達式一次或者多次,如“xu+”這個表達式就能夠匹配“xuu”和“xu”,但不能夠匹配“x”,這個就是和“*”的區別。
?:匹配前面的子表達式零次或者一次,如“xu?”這個表達式就能夠匹配“jian(guo)?”就可以匹配“jian”和“jianguo”。
{n}:n是一個非負數,匹配n次,如“guo{2}”,可以匹配“guoo”,不能匹配“guo”。
{n,}:n是一個非負數,匹配至少n次。
{n, m}:m、n都是非負數,最少匹配n次,最多匹配m次。
(pattern):匹配pattern並獲取匹配結果。
(?:pattern):匹配pattern但不獲取匹配結果。
x|y:匹配x或y,如“(xu|jian)guo”匹配“xuguo”或者“jianguo”。
[xyz]:字符集合,匹配所包含的任意字符。如“[abc]”可以匹配“apple”中的“a”。
1:匹配未被包含的字符。
[a-z]:字符範圍,匹配指定範圍內的任意字符。
2:匹配指定不在範圍內的任意字符。
b:匹配一個單詞的邊界,如“guob”可以匹配“xujianguo”中的“guo”。
B:匹配非單詞邊界,如“jianB”可以匹配“xujianguo”中的“jian”。
d:匹配一個數字字符,等價於“[0-9]”。
D:匹配一個非數字字符。
f:匹配一個換頁符。
n:匹配一個換行符。
r:匹配一個回車符。
s:匹配任何空白字符
其實還有很多語法我就不一一列舉了,先說這麼多先
- xyz ↩
- a-z ↩