点我
正则表达式
正则表达式
正则表达式
正则表达式存在的意义:过滤和检索。
正则表达式,又称规则表达式(Regular Expression )常简写为regex,regexp,RE;
常用正则表达式函数
Preg\_match($pattern,$subject,$arr)
搜索subject在pattern给的正则表达式的匹配,返回匹配次数为0或1,存在arr数组中。
Preg\_match\_all($mattern,$str,$arr):进行全局正则表达式的匹配,可多次匹配,返回共计匹配的次数存到arr数组。
preg\_replace (正则表达式、替换成什么、匹配字符串)
返回替换后的结果
作用
正则表达式通常被用来检索、替换符合规则的文本
特点
- 灵活性、逻辑性和功能性强
- 可以快速地用极简单的方式达到支付出的复杂控制
用途
- 判断字符串是否符合某规则
- 从一个字符串中找出符合规则的所以子字符串
常用字符
说明 | 符号 |
---|---|
数字 | \d |
非字符 | \D |
空白字符(空格、制表符、换页符等) | \s |
非空白字符 | \S |
制表符 | \t |
回车符 | \r |
换行符 | \n |
单词字符(26个英文字母+数字+下划线) | \w |
非单词字符 | \W |
字符集合
字符集合:[ 单个字符或字符区间] ,用于匹配集合内字符
如:
- [a-z] 表示a-z 26个小写字母
- [ 0-9a-h] 表示0-9 10个数字和a-z 8个字母
- [134a-h] 表示包含数字1,3,5和字母a-h 8个字母
注意:两个不同字符段间请勿使用逗号,隔开
反选字符
非集:[\^单个字符或区间],用于匹配非集合内字符]
- 反选字符:^
- [^] 注意:中括号内^ 才是反选
- [^0-9] 表示匹配所有非数字字符
- [^a-zA-Z] 表示匹配所有非字母字符
关键字
关键字 | 描述 | |
---|---|---|
^ | 匹配输入字符串的开始位置 | |
$ | 匹配输入字符串的结尾位置 | |
() | 标记一个子表达式的开始和结束位置 | |
* | 匹配前面的子表达式零次或多次 | |
+ | 匹配前面的子表达式一次或多次 | |
. | 匹配除换行符\n之外的任意单个字符 | |
[ | 标记一个中括号表达式的开始 | |
? | 匹配前面的子表达式零次或一次 | |
\ | 将下一个字符标记为特殊字符原来的本意 | |
{ | 标记限定符表达式的开始 | |
\ | 指明两项之间的一项 |
限定符
字符 | 描述 |
---|---|
{n} | n为非负数,匹配连续的字符n次 |
{n,} | n为非负数,匹配连续的字符n次及以上 |
{n,m} | n、m均为非负数,n \<\=m,匹配连续的字符 至少n次,至多m次 |
修饰符
修饰符 | 描述 |
---|---|
/i | 不区分大小写 |
/A | 匹配规则必须从头开始匹配 |
/s | 将匹配一切字符 |
/X | 正则表达式中的空白字符将会被忽略 |
注意:写在正则表达式的“外面“ /a/i
函数
PHP中使用正则表达式一定要加/ 正则表达式内容 /
- preg\_match(正则表达式,匹配的字符串)
匹配第一个匹配正则的子字符串,未找到返回0.找到返回1 - preg\_grep()
匹配第一个匹配正则的字符串数组,包含匹配的字符串和匹配的单元 - preg\_match\_all(正则表达式,匹配的字符串,输出的二维数组)
能匹配所有的子字符串,返回子字符串匹配的数量 - pre\_replace(正则表达式,替换的字符串,匹配的字符串)
将所有匹配正则表达式的字符串进行替换
分类:
WEB安全
版权申明
本文系作者 @小白学安全 原创发布在 xbxaq.com 站点,未经许可,禁止转载!
评论