你必須知道的一些正規表示式

2021-10-04 09:41:53 字數 2717 閱讀 7907

你還在為正規表示式而頭疼嗎?收藏本文吧。

數字:^[0-9]*$n位的數字:^\d$至少n位的數字:^\d$m-n位的數字:^\d$零和非零開頭的數字:^(0|[1-9][0-9]*)$非零開頭的最多帶兩位小數的數字:^([1-9][0-9]*)+(.[0-9])?$帶1-2位小數的正數或負數:^(\-)?\d+(\.\d)?$正數、負數、和小數:^(\-|\+)?\d+(\.\d+)?$有兩位小數的正實數:^[0-9]+(.[0-9])?$有1~3位小數的正實數:^[0-9]+(.[0-9])?$非零的正整數:^[1-9]\d*$^([1-9][0-9]*)$^\+?[1-9][0-9]*$非零的負整數:^\-[1-9]0-9"*$^-[1-9]\d*$非負整數:^\d+$^[1-9]\d*|0$非正整數:^-[1-9]\d*|0$^((-\d+)|(0+))$非負浮點數:^\d+(\.\d+)?$^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$非正浮點數:^((-\d+(\.\d+)?)|(0+(\.0+)?))$^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$正浮點數:^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$負浮點數:^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$浮點數:^(-?\d+)(\.\d+)?$ 或 ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$漢字:^[\u4e00-\u9fa5]$英文和數字:^[a-za-z0-9]+$^[a-za-z0-9]$長度為3-20的所有字元:^.$由26個英文本母組成的字串:^[a-za-z]+$由26個大寫英文本母組成的字串:^[a-z]+$由26個小寫英文本母組成的字串:^[a-z]+$由數字和26個英文本母組成的字串:^[a-za-z0-9]+$由數字、26個英文本母或者下劃線組成的字串:^\w+$^\w$中文、英文、數字包括下劃線:^[\u4e00-\u9fa5a-za-z0-9_]+$中文、英文、數字但不包括下劃線等符號:^[\u4e00-\u9fa5a-za-z0-9]+$^[\u4e00-\u9fa5a-za-z0-9]$可以輸入含有^%&',;=?$\"等字元:[^%&',;=?$\x22]+禁止輸入含有~的字元:[^~\x22]+

網域名稱:[a-za-z0-9][-a-za-z0-9](/.[a-za-z0-9][-a-za-z0-9])+/.?

interneturl:[a-za-z]+://[^\s]* 或 ^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$

手機號碼:^(13[0-9]|14[0-9]|15[0-9]|16[0-9]|17[0-9]|18[0-9]|19[0-9])\d$

**號碼(「***-******x」):^(\(\d-)|\d-)?\d$

國內**號碼(0511-4405222):\d-\d|\d-\d

18位身份證號碼(數字、字母x結尾):^((\d)|([0-9x])|([0-9x]))$

帳號是否合法(字母開頭,允許5-16位元組,允許字母數字下劃線):^[a-za-z][a-za-z0-9_]$

密碼(以字母開頭,長度在6~18之間,只能包含字母、數字和下劃線):^[a-za-z]\w$

強密碼(必須包含大小寫字母和數字的組合,不能使用特殊字元,長度在8-10之間):^(?=.*\d)(?=.*[a-z])(?=.*[a-z]).$

日期格式:^\d-\d-\d

一年的12個月(01~09和1~12):^(0?[1-9]|1[0-2])$

乙個月的31天(01~09和1~31):^((0?[1-9])|((1|2)[0-9])|30|31)$

一些正規表示式

要嚴格的驗證手機號碼,必須先要清楚現在已經開放了哪些數字開頭的號碼段,目前國內號碼段分配如下 移動 134 135 136 137 138 139 150 151 157 td 158 159 187 188 聯通 130 131 132 152 155 156 185 186 電信 133 153...

一些正規表示式

判斷是否是正整數if isnan paramvalue paramvalue 0 else 金額的格式判斷輸入金額的要求 整數字最多十位,小數為最多為兩位,可以無小數字 0 9 1 9 0 9 0 9 function checkmoney str 0 9 if re.test str else 手...

一些正規表示式

記錄一下 以防忘記 string hello 123 4567 world this is a regsssss res re.match w s d s d s w string 匹配到 hello 123 4567 world this 其中 代表乙個字串的開始 代表乙個字串的結尾 w 匹配字母...