关于正则匹配语法的小小总结

常见比赛正则匹配出现在PHP和Python语句中

正则表达式:

用来匹配字符串的表达式

单字符匹配

\d:匹配一个数字
\w:匹配一个字母或数字
\s:匹配一个空格或空白符 .:匹配任意字符
0\d:匹配0加上一个数字,可以匹配07,但不匹配0A 0\w:07和0A都能匹配

多字符匹配

*:表示任意个字符(>=0+:表示至少1个字符
?:表示0或1个字符
{n}:表示n个字符
{n,m}:表示n到m个字符

举例

\d{3}:匹配3个数字
\w{3,5}:匹配3到5个数字或字符

范围匹配

[0-9\_]:匹配一个数字或者下划线(\转义)
[0-9a-zA-Z]:匹配一个数字或者大小写字母
[a-zA-Z][0-9]{0.3}:匹配大小写字母开头,加上后面最多3个数字的字符
^\d:匹配数字开头字符
\d$:匹配以数字结束字符

 

PHP的preg_match

在preg_match中竖线等于逻辑或,/是正则perl风格的写法,置于头尾

举例

if(preg_match('/\s+/',$GET["name"]))
    {
        die("ERROR");
    }

用于匹配至少一个空格和空白字符

if(!(preg_match('/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/',GET['ip'])))
    {
        echo('false');
    }

用于匹配以数字开头,以数字结尾,至少4位,最多12位的ip地址

posted @ 2020-06-03 21:37  ch0bits  阅读(236)  评论(0编辑  收藏  举报