php 防注入 正则,SQL注入基础五--PHP正则表达式

什么是正则表达式

正则表达式又称规则表达式。(在代码中常简写为regex.regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索。替换那些符合某个规则的文本。

正则表达式的特点是:

灵活性、逻辑性和功能性非常强;可以迅速地用极简单的方式达到字符串的复制控制;对于刚接触的人来说,比较难懂

正则表达式的用途:

判断字符串是否合某一规则(判断是否合手机号、邮箱规则)从一个字符串中找出符合规则的所有子字符串(取HTML标签名)

正则表达式的语法

关键字:

$  ()  *  +  .  [,]  ^  {,}  |

单个普通字符:

能使用键盘打出的全部字符(除关键字外)

A能匹配a  $不能匹配$  \$能匹配$

特定的字符无法使用键盘输入比如:

字符ASSIC码转义字符空0x00\x00删除符0x08\b或\x08制表符0x08\t或0x09换行符0x0b\n或\x0b回车符0x0d\r或\x0d

使用\x00格式表示所有的ASSIC字符使用\u0000格式表示所有的Unicode字符(包括汉字)

常用转义字符:

值字符数字\d非数字\D空白字符(空格、制表符、换页符等)\s非空白字符\S制表符\t回车符\r换行符\n单词字符(26个英文字母+数字+下划线_)\w非单词字符\W

PHP中常见的正则表达式

自定义字符结合: 字符集合:[单个字符或字符区间],用于匹配集合内字符,如:

[a-z]表示这26个小写字母  [0-9a-z]表示0-9这10个数字和a-z这26个小写字母  [135a-h]表示包含数据1,3,5和字母a-h这8个字母 注意:两个不同字符段间请勿使用,隔开。    非集:[^单个字符或字符区间],用于匹配非集合内字符。如:  [^0-9]表示匹配所有非数字字符。  [^a-zA-Z]表示匹配所有非字母字符。

多个正则表达式匹配:

限定符:   常用函数:

preg_match()

匹配第一个匹配正则的子子字符串,未找到返回0,找到返回1

ereg()和eregi()

判断字符串是否匹配正则表达式,匹配返回true,不匹配返回false

preg_gerp()

-匹配第一个匹配的子字符串数组,包含匹配的字符串和匹配的单元

preg_match_all()

功能和perg_match()类似区别在于能匹配所有子串,返回子串数量

preg_replace()

将所有匹配正则的字符串进行替换

preg_split(),split和spliti()

使用正则表达式分割字符串

正则表达式测试方法:

打开 http://tool.oschina.net/regex/百度关键字 正则表达式测试使用各类编程语言、脚本等测试

常见场景

收集手机号码段 编写程序匹配是否为手机号 编写程序区分手机号运营商

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值