漢字:/^[\u4e00-\u9fa5]+$/
日期格式驗證:/((?!0000)[0-9]{4}-((0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-8])|(0[13-9]|1[0-2])-(29|30)|(0[13578]|1[02])-31)|([0-9]{2}(0[48]|[2468][048]|[13579][26])|(0[48]|[2468][048]|[13579][26])00)-02-29)/
英文數字下滑線:/^\w+$/
正浮點數:/[1-9]\d*\.\d*|0\.\d*[1-9]\d*/
Email: /[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?/
正整數驗證:/^[0-9]*$/
mac地址驗證:/([A-Fa-f0-9]{2}-){5}[A-Fa-f0-9]{2}/
身份證號碼驗證:/^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/
ip地址驗證:/((25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))/
示例:/2[0-4]\d(?#200-249)|25[0-5](?#250-255)|1?\d\d?(?#0-199)/ 匹配0-255的整數
字符: (?#comment)
描述: comment是注釋,不對正則表達示的處理產生任何影響
參數:\num 對捕獲組的反向引用。num是一個正整數
示例: (\w)(\w)\2\1 匹配abba類型的數字,如2332 4334
常用元字符
. 匹配除換行符以外的任意字符
\w 匹配字母或數字或下划線
\s 匹配任意的空白符
\d 匹配數字
\b 匹配單詞的開始或結束
^ 匹配字符串的開始
$ 匹配字符串的結束
常用限定符
* 重復零次或更多次
+ 重復一次或更多次
?重復零次或一次
{n} 重復n次
{n,} 重復n次或更多次
{n,m} 重復n到m次
常用反義詞
\W 匹配任意不是字母,數字,下划線,漢字的字符
\S 匹配任意不是空白符的字符
\D 匹配任意非數字的字符
\B 匹配不是單詞開頭或結束的位置
[^x] 匹配除了x以外的任意字符
[^abc] 匹配除了abc這幾個字母以外的任意字符
下面這個就是js匹配正則表達式的方法,text 為待匹配內容,這個正則的意思就是限定輸入的第二位是^ 倒數第二位是$
var text=this.cons.consExprUser; // 下面這個正則表達式的意思就是限定輸入的第二位為^,倒數第二位為$ 例:/^要輸入的規則$/ var re=/^.\^.*?\$.$/ let result=re.test(text);
下面是后台正則表達式的使用
import java.util.regex.Matcher; import java.util.regex.Pattern; /** * Created by Administrator on 2017/10/12. */ public class hello { public static void main(String[] args) { Pattern pattern = Pattern.compile("^((25[0-5]|2[0-4]\\d|((1\\d{2})|([1-9]?\\d)))\\.){3}(25[0-5]|2[0-4]\\d|((1\\d{2})|([1-9]?\\d)))$"); String test1 = "1996-11-15"; String test2 = "127.0.0.1"; Matcher matcher = pattern.matcher(test1); System.out.println(matcher.matches());//返回true matcher = pattern.matcher(test2); System.out.println(matcher.matches());//返回false } }
時間格式的正則表達式
24小時制時:分格式 0[0-9]:[0-5][0-9]|1[0-9]:[0-5][0-9]|2[0-3]:[0-5][0-9]
12小時制 時:分格式 0[0-9]:[0-5][0-9]|1[0-1]:[0-5][0-9]
正則表達式其實不難,雖然學習的時候有人會告訴你,這個不用記,上網一搜就有了,真正搜的時候才發現很多不靠譜。看一些規律就應該明白。這樣就能寫符合自己需要的正則。