下面這幾個是我們經常用到的
^ 表示開頭 $ 表示結尾 . 表示任意字符 * 表示任意多個
我從其他的博主下面找的圖片:
/ 做為轉意,即通常在"/"后面的字符不按原來意義解釋,如/b/匹配字符"b",當b前面加了反斜桿后//b/,轉意為匹配一個單詞的邊界。 -或- 對正則表達式功能字符的還原,如"*"匹配它前面元字符0次或多次,/a*/將匹配a,aa,aaa,加了"/"后,/a/*/將只匹配"a*"。 ^ 匹配一個輸入或一行的開頭,/^a/匹配"an A",而不匹配"An a" $ 匹配一個輸入或一行的結尾,/a$/匹配"An a",而不匹配"an A" * 匹配前面元字符0次或多次,/ba*/將匹配b,ba,baa,baaa + 匹配前面元字符1次或多次,/ba*/將匹配ba,baa,baaa ? 匹配前面元字符0次或1次,/ba*/將匹配b,ba (x) 匹配x保存x在名為$1...$9的變量中 x|y 匹配x或y {n} 精確匹配n次 {n,} 匹配n次以上 {n,m} 匹配n-m次 [xyz] 字符集(character set),匹配這個集合中的任一一個字符(或元字符) [^xyz] 不匹配這個集合中的任何一個字符 [/b] 匹配一個退格符 /b 匹配一個單詞的邊界 /B 匹配一個單詞的非邊界 /cX 這兒,X是一個控制符,//cM/匹配Ctrl-M /d 匹配一個字數字符,//d/ = /[0-9]/ /D 匹配一個非字數字符,//D/ = /[^0-9]/ /n 匹配一個換行符 /r 匹配一個回車符 /s 匹配一個空白字符,包括/n,/r,/f,/t,/v等 /S 匹配一個非空白字符,等於/[^/n/f/r/t/v]/ /t 匹配一個制表符 /v 匹配一個重直制表符 /w 匹配一個可以組成單詞的字符(alphanumeric,這是我的意譯,含數字),包括下划線,如[/w]匹配"$5.98"中的5,等於[a-zA-Z0-9] /W 匹配一個不可以組成單詞的字符,如[/W]匹配"$5.98"中的$,等於[^a-zA-Z0-9]。
這里的第二條sql,是先取第一個位置,再對1取反。
而第一條是他會匹配所有的id,判斷是否在0-9這個范圍,並且取反。
其實一般正則表達式在匹配身份證信息的時候會使用到:下面給大家一張圖片:這是mysql的
18位身份證每一位都要寫上范圍:這個是出生日期為空,update出生日期。
這邊使用拿到了sub_str函數 字符串截取