正则满足中文的顿号_常用的正则表达式、正则表达式之断言
一、常用的正則表達式:
1、手機號碼:/^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])d{8}$/
2、國內電話號碼:/d{3}-d{8}|d{4}-d{7}/
3、身份證號:/(^d{15}$)|(^d{18}$)|(^d{17}(d|X|x)$)/
或者 /^[1-9]d{5}(18|19|([23]d))d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)d{3}[0-9Xx]$/
4、用戶名:/^[a-zA-Z0-9_]{4,16}$/ (4-16位,由數字、子母下劃線組成)
5、電子郵箱:/^([a-zA-Z0-9]+[_|_|.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|_|.]?)*[a-zA-Z0-9]+.[a-zA-Z]{2,3}$/
6、日期:簡單判定:/^d{4}(-)d{1,2}1d{1,2}$/
7、QQ號:/^[1-9][0-9]{4,10}$/ (5-11位)
8、微信號: /^[a-zA-Z]([-_a-zA-Z0-9]{5,19})+$/(6至20位,以字母開頭,由字母,數字,減號,下劃線組成)
9、密碼強度:/^.*(?=.{6,})(?=.*d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/(最少6位,包括至少1個大寫字母,1個小寫字母,1個數字,1個特殊字符)
10、正整數:/^d+$/
11、負整數:/^-d+$/
12、整數:/^-?d+$/
13、正數:/^d*.?d+$/
14、負數:/^-d*.?d+$/
15、數字:/^-?d*.?d+$/
16、URL:/^((https?|ftp|file)://)?([da-z.-]+).([a-z.]{2,6})([/w .-]*)*/?$/
17、ipv4地址:/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/
18、十六進制顏色:/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/
19、車牌號:/^[京津滬渝冀豫云遼黑湘皖魯新蘇浙贛鄂桂甘晉蒙陜吉閩貴粵青藏川寧瓊使領A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9掛學警港澳]{1}$/
20、包含中文:/[u4E00-u9FA5]/
二、正則表達式之斷言
1、斷言,也叫零寬度斷言、環視,主要介紹以下表格中列出的四種:
2、首先作表達式結構解釋, 以(?=exp)零寬度正先行斷言 為例: "先行"表示待校驗的位置在前,即校驗的位置在exp匹配的內容之前:
(?=d{3})表示校驗的位置后面是三個數字;
(?=d+) 表示校驗的位置后接著的是數字;
(?=^.{5}$)表示校驗的位置后字符串長度為5,因為加了字符串開頭和結尾的元符號,所以這個表達式作用其實就是匹配長度為5的字符串。
由上面例子可以看出,斷言的作用就是指定一個位置,該位置的前后內容需要滿足exp規則。
3、(?!exp)表示校驗位置之后的內容不匹配exp規則
(?!.*d{3}.*)表示校驗位置之后的內容中不包含三個連續的數字。這個表達式的作用其實就是篩選出不包含三個連續數字的字符串。
4、(?<=exp)表示校驗位置之前的內容匹配exp規則
(?<=d{3})表示校驗位置前有三個連續的數字。這個表達式作用是匹配三個連續數字后面的內容。
5、(?<!exp)表示校驗位置之前的內容不匹配exp規則
(?<!d{2})表示校驗位置前不是兩個數字。這個表達式作用就是匹配字符串部分內容,這部分內容前不是兩個連續的數字。
如果有幫助到你,就點個贊叭~蟹蟹啦~
歡迎關注我【馬技術猿】,全網同名哦
總結
以上是生活随笔為你收集整理的正则满足中文的顿号_常用的正则表达式、正则表达式之断言的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python脚本中执行另一个脚本_如何用
- 下一篇: python excel合并_Pytho