正则整理

+    前面字符出现次数>=1            
*    前面字符出现次数>=0            
?    前面字符出现次数<=1            
w    Unicode字符集 > [A-Za-z0-9_]            
W    等价于 [^A-Za-z0-9_]            
d    等价于 [0-9]            
D    等价于 [^0-9]            
/i    忽略大小写      
s   匹配空白,即 空格,tab键 () 表示域 [\\
/] 匹配或\或/ 界定符 表示正则表达式开始和结束 PHP界定符 # / .*? 表示匹配任意字符到下一个符合条件的字符(非贪婪匹配)

IP/域名

IP地址匹配
((2(5[0-5]|[0-4]d))|[0-1]?d{1,2})(.((2(5[0-5]|[0-4]d))|[0-1]?d{1,2})){3}
10开头
10(.([2][0-4]d|[2][5][0-5]|[01]?d?d)){3}
172开头
172.([1][6-9]|[2]d|3[01])(.([2][0-4]d|[2][5][0-5]|[01]?d?d)){2}
192开头
192.168(.([2][0-4]d|[2][5][0-5]|[01]?d?d)){2}
内网IP(10172192)
((192.168|172.([1][6-9]|[2]d|3[01]))(.([2][0-4]d|[2][5][0-5]|[01]?d?d)){2}|10(.([2][0-4]d|[2][5][0-5]|[01]?d?d)){3})

域名匹配
(?=^.{3,255}$)(http(s)?://)?(www.)?[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+(:d+)*(/w+.w+)*

匹配字符中间空格
s+

字段匹配

[S]{4,20} - 匹配字符在4-20之间的字段

字符匹配

^(.+)\sand\s(.+)|(.+)\sor(.+)\s$   --检测:  and和or

/(\%27)|(’)|(--)|(\%23)|(#)/ix          --检测:‘ --和#

((%3D)|(=))[^
]*((\%27)|(’)|(--)|(\%3B)|(:))/i     --检测: = 非换行符 ’ -- :

w*((\%27)|(’))((\%6F)|o|(\%4F))((\%72)|r|(\%52))/ix    --检测:  ' or

((%27)|(’))union/ix(\%27)|(’)        --检测: 'union'  '

exec(s|+)+(s|x)pw+/ix               --检测:  exec
原文地址:https://www.cnblogs.com/AtesetEnginner/p/11216008.html