首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PHP正则表达式笔记与实例详解

本文实例讲述了PHP正则表达式笔记与实例。分享给大家供大家参考,具体如下: 这里主要介绍如何在PHP使用正则表达式,并附带几个实例. 这两天工作用到了正则表达式,发现自己已经忘记差不多了,囧啊!...如果设置了 RegExp 对象Multiline 属性,^ 也匹配 'n' 或 'r' 之后位置。 $ 匹配输入字符串结束位置。...[a-z] 字符范围,匹配指定范围内任意字符。 负值字符范围,匹配任何不在指定范围内任意字符。 b 匹配一个单词边界,也就是指单词和空格间位置。 B 匹配非单词边界。...w 匹配包括下划线任何单词字符。等价于'[A-Za-z0-9_]'。 W 匹配任何单词字符。等价于 ' '。 xn 匹配 n,其中 n 为十六进制转义值。十六进制转义值必须为确定两个数字长。...d{7,14} 32、提取信息中国邮政编码:[1-9]{1}(d+){5} 33、提取信息浮点数(即小数):(-?d*).?d+ 34、提取信息任何数字 :(-?d*)(.d+)?

1.1K00
您找到你想要的搜索结果了吗?
是的
没有找到

PHP正则表达式笔记与实例详解

本文实例讲述了PHP正则表达式笔记与实例。分享给大家供大家参考,具体如下: 这里主要介绍如何在PHP使用正则表达式,并附带几个实例. 这两天工作用到了正则表达式,发现自己已经忘记差不多了,囧啊!...a-zA-Z0-9] 表示任意一位大小字母或数字 [^] 表示除括号内原子之外任何字符 是[]取反 例如:[^0-9] 表示任意一位非数字字符 [^a-z] 表示任意一位非小写字母 {m}...^ 匹配输入字符串开始位置。如果设置了 RegExp 对象Multiline 属性,^ 也匹配 ‘\n’ 或 ‘\r’ 之后位置。 匹配输入字符串结束位置。...[a-z] 字符范围,匹配指定范围内任意字符。 [^a-z] 负值字符范围,匹配任何不在指定范围内任意字符。 \b 匹配一个单词边界,也就是指单词和空格间位置。 \B 匹配非单词边界。...\w 匹配包括下划线任何单词字符。等价于'[A-Za-z0-9_]’。 \W 匹配任何单词字符。等价于 ‘[^A-Za-z0-9_]’。 \xn 匹配 n,其中 n 为十六进制转义值。

2.8K40

正则表达式学习笔记

exp),表示该位置内容不是exp时,匹配exp之后内容。例如\b\w+(?!re)\b会匹配任意不是以re开头单词。 上述内容,3)、4)又称为负向零宽断言。...$matches[0]将包含完整模式匹配到文本,$matches[1] 将包含第一个捕获子组匹配到文本,以此类推。 函数返回:pattern 匹配次数。...[^>]+> 3、URL重定向 在Apache和Nginx,经常需要配置urlrewrite,可以把php后缀文件重定向到html后缀文件,这样做便于搜索引擎检索。...3) 解析URL时,可以用PHP自带parse_url()函数,该函数可以把url类型、host、path、query等输出。...5) 验证邮箱信息、URL信息、数据类型等,均可以安装使用PHPfilter_var函数,该函数可以使用特定过滤器过滤一个变量。

1.2K120

PHP学习笔记——正则表达式

1、正则表达式包含三种元素分别为:量词、元字符、修饰符 2、前导字符串:就是符号前面的一个字符或字符串 量词 说明 匹配任何至少包含一个前导字符串 匹配任何包含零个或多个前导字符串...说明 [a-z] 匹配任何包含小写字母a-z字符串 [A-Z] 匹配任何包含大写字母A-Z字符串 [0-9] 匹配任何包含0-9字符串 [abc] 匹配任何包含小写字母...a,b,c字符串 [^abc] 匹配任何不包含小写字母a,b,c字符串 [a-zA-Z0-9_] 匹配任何包含a-zA-Z0-9和下划线字符串 \w 匹配任何包含a-zA-Z0-9...\b 匹配是否到达了单词边界 \B 匹配没有到达了单词边界 \ 匹配正则特殊字符 //元字符 echo preg_match('/[a-z]/','abc');//返回1...1 修饰符 说明 i 完全不区分大小写 m 可以采用多行识别,遇到换行也承认匹配规则 x 忽略掉规则模式空白字符 A 强制从头开始匹配 U 禁止贪婪匹配,只跟踪到最近一个匹配符并结束 /

1.1K30

PHP正则表达式

正则表达式 1、正则表达式包含三种元素分别为:量词、元字符、修饰符 2、前导字符串:就是符号前面的一个字符或字符串 量词 说明 + 匹配任何至少包含一个前导字符串 * 匹配任何包含零个或多个前导字符串...preg_match('/(abc)+/','abcd');//返回1 元字符 说明 [a-z] 匹配任何包含小写字母a-z字符串 [A-Z] 匹配任何包含大写字母A-Z字符串 [0-9] 匹配任何包含...0-9字符串 [abc] 匹配任何包含小写字母a,b,c字符串 [^abc] 匹配任何不包含小写字母a,b,c字符串 [a-zA-Z0-9_] 匹配任何包含a-zA-Z0-9和下划线字符串 \w...\b 匹配是否到达了单词边界 \B 匹配没有到达了单词边界 \ 匹配正则特殊字符  //元字符   echo preg_match('/[a-z]/','abc');//返回1   echo...您必须在下载后24个小时之内,从您电脑或手机彻底删除上述内容。 如果您喜欢该程序,请支持正版,购买注册,得到更好正版服务。如有侵权请邮件与我联系处理。敬请谅解!

1.5K10

PHP正则表达式之量词、元字符、修饰符

介绍 1、正则表达式包含三种元素分别为:量词、元字符、修饰符 2、前导字符串:就是符号前面的一个字符或字符串 量词 + 匹配任何至少包含一个前导字符串 * 匹配任何包含零个或多个前导字符串 ?...0-9字符串 [abc] 匹配任何包含小写字母a,b,c字符串 [^abc] 匹配任何不包含小写字母a,b,c字符串 [a-zA-Z0-9_] 匹配任何包含a-zA-Z0-9和下划线字符串...匹配任何空白字符 \S 匹配任何非空白字符 \b 匹配是否到达了单词边界 \B 匹配没有到达了单词边界 \ 匹配正则特殊字符 /[`~!...' ');//返回0 //单词尾部边界 echo preg_match('/at\b/', 'cat');//返回1 //头单词部边界 echo preg_match('/\bat/', 'attribute...preg_match('/\$/', '$');//返回1 修饰符 修饰符 说明 i 完全不区分大小写 m 可以采用多行识别,遇到换行也承认匹配规则 x 忽略掉规则模式空白字符

89442

PHP正则表达式_python正则匹配字母

---- 二、正则表达式元素 介绍   1、正则表达式包含三种元素分别为:量词、元字符、修饰符   2、前导字符串:就是符号前面的一个字符或字符串 量词 量词 说明 + 匹配任何至少包含一个前导字符串...[a-z] 匹配任何包含小写字母a-z字符串 [A-Z] 匹配任何包含大写字母A-Z字符串 [0-9] 匹配任何包含0-9字符串 [abc] 匹配任何包含小写字母a,b,c字符串 [^abc]...-9和下划线字符串 \d 匹配任何包含数字字符 \D 匹配任何非数字字符 \s 匹配任何空白字符 \S 匹配任何非空白字符 \b 匹配是否到达了单词边界 \B 匹配没有到达了单词边界 \ 匹配正则特殊字符...' ');//返回0 //单词尾部边界 echo preg_match('/at\b/', 'cat');//返回1 //头单词部边界 echo preg_match('/\bat/', 'attribute...---- 三、Perl风格函数 1、preg_grep()   搜索数组所有元素,返回与某个模式匹配字符串数组 2、preg_match()   搜索模式,匹配返回true,不匹配返回false

2.7K20

PHP正则表达式

• \w匹配包括下划线任何单词字符。等价于’[A-Za-z0-9_]’。 • \W匹配任何单词字符。等价于 ‘[^A-Za-z0-9_]’。 • \xn匹配 n,其中 n 为十六进制转义值。...在字符域[]中表示取反,如'[^\w]'等于'\w';而^\w表示以单词字符开头。 • 匹配输入字符串结束位置。例'\w'表示以单词字符结尾。 • ?...预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹 配搜索,而不是从包含预查字符之后开始。 • (?!...预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配搜 索,而不是从包含预查字符之后开始 有时候最后定界符会有一个字母,如‘/as....d/'; preg_match($pattern,$str,$match); var_dump($match) ;//asd php常用正则函数; 匹配

4.5K10

命令执行漏洞

flag.php 1.txt进行重命名之后再访问1.txt,从而cat到flag.php内容 当遇到了黑洞问题,可以使用双写绕过,例如?...,还要检查变量是否已经设置/声明 意味着必须声明,并且不为NULL,才能返回true preg_match 使用正则表达式对字符串“w3schools”执行不区分大小写搜索: 该函数返回是否在字符串中找到匹配项...preg_match() preg_match(pattern, input, matches, flags, offset) php通配符 和Linux通配符相同 *可以代表任意个字符 ?...include语句获取指定文件存在所有文本/代码/标记,并将其复制到使用include语句文件 include require 希望在报错时继续执行并且向用户显示输出,使用include语句,...c=tac flag.php%26%26ls得到flag web46 当过滤掉数字和%时,URL编码数字不会被过滤 当过滤掉数字时,URL编码数字不会被过滤 因为URL编码在上传过程已经被浏览器解了一次码了

21110

命令注入限制绕过

包含一些文本内容,你想要统计这个文件行数并将结果输出到终端,在Unix、Linux或类Unix系统你可以使用"wc -l"命令计算文件行数,然后使用管道符号将其连接到cat命令将结果输出到终端...,每个打开文件或设备都会被分配一个唯一文件描述符,Linux 文件描述符使用非负整数值来表示其中特定文件描述符有以下含义 标准输入(stdin):文件描述符为0,通常关联着终端键盘输入 标准输出...将文本内容作为输入 cmd file 以读写模式把文件file重定向到输入 cmd >| file 将命令标准输出强制覆盖写入到文件,即使文件已经存在并且具有写保护...回显提示,说明此处有对字符进行黑名单过滤处理: 通过简易测试发现%0a可以用于截断并执行命令,同时我们可以看到这里并没有任何命令执行回显,所以说这是一个盲注点 随后通过OOB检测验证漏洞确实存在...php if(isset($_GET['ip'])){ $ip = $_GET['ip']; if(preg_match("/\&|\/|\?

28210

通过一道题目带你深入了解WAF特性、PHP超级打印函数、ASCII码chr()对应表等原理Easy Calc 1

如果在目标字符串中找到任何黑名单字符,即preg_match函数返回true,那么程序将立即停止执行,并输出“what are you want to do?”。...提示存在WAF检测,猜测后台还存在一些过滤 空格绕过WAF检测原理 一些攻击者可能会尝试利用WAF(Web Application Firewall)特性,通过在恶意请求插入特定字符或字符串来绕过...这样,攻击者就可以在请求插入有效URL编码字符,从而绕过WAF过滤。 需要注意是,这种方法并不是所有WAF都有效,因为不同WAF可能会有不同特性和行为。...PHP可以识别ASCII码chr()对应表,是因为PHP是一种通用服务器端脚本语言,它可以处理文本数据。...在PHP,chr()函数可以将ASCII码转换为相应字符。因此,在编写PHP程序时,我们可以使用chr()函数将ASCII码转换为相应字符,以便在程序中使用它们。

25220

通过一道题目带你深入了解WAF特性、PHP超级打印函数、ASCII码chr()对应表等原理Easy Calc 1

如果在目标字符串中找到任何黑名单字符,即preg_match函数返回true,那么程序将立即停止执行,并输出“what are you want to do?”。...提示存在WAF检测,猜测后台还存在一些过滤 空格绕过WAF检测原理 一些攻击者可能会尝试利用WAF(Web Application Firewall)特性,通过在恶意请求插入特定字符或字符串来绕过...这样,攻击者就可以在请求插入有效URL编码字符,从而绕过WAF过滤。 需要注意是,这种方法并不是所有WAF都有效,因为不同WAF可能会有不同特性和行为。...PHP可以识别ASCII码chr()对应表,是因为PHP是一种通用服务器端脚本语言,它可以处理文本数据。...在PHP,chr()函数可以将ASCII码转换为相应字符。因此,在编写PHP程序时,我们可以使用chr()函数将ASCII码转换为相应字符,以便在程序中使用它们。

31830

通过一道题目带你深入了解WAF特性、PHP超级打印函数、ASCII码chr()对应表等原理Easy Calc 1

如果在目标字符串中找到任何黑名单字符,即preg_match函数返回true,那么程序将立即停止执行,并输出“what are you want to do?”。...提示存在WAF检测,猜测后台还存在一些过滤 空格绕过WAF检测原理 一些攻击者可能会尝试利用WAF(Web Application Firewall)特性,通过在恶意请求插入特定字符或字符串来绕过...这样,攻击者就可以在请求插入有效URL编码字符,从而绕过WAF过滤。 需要注意是,这种方法并不是所有WAF都有效,因为不同WAF可能会有不同特性和行为。...PHP可以识别ASCII码chr()对应表,是因为PHP是一种通用服务器端脚本语言,它可以处理文本数据。...在PHP,chr()函数可以将ASCII码转换为相应字符。因此,在编写PHP程序时,我们可以使用chr()函数将ASCII码转换为相应字符,以便在程序中使用它们。

32940

php基本语法复习

能够做什么 语法知识 php脚本可以放在文档任何位置 开头结尾 php脚本以’ <?...参数传递到当前脚本变量数组 $_POST是通过HTTP POST传递到当前脚本变量数组 何时使用 GET 方法从表单发送信息对任何人都是可见(所有变量名和值都显示在 URL )。...fclose需要待关闭文件名称,或者存有文件名变量 fgets() fgets()函数用于从文件读取单行 调用fgets()函数之后,文件指针会移动到下一行 feof() feof()函数检查是否已经到达...$_FILES["file"]["name"]; } 上面的脚本检测了是否已经存在了此文件,如果不存在,则把文件拷贝到指定文件夹 file_exists() 检测在指定目录下是否有文件名文件存在 move_uploaded_file...preg_match("/^[a-zA-Z]*$/",name)){ $emailErr='无效email格式'; } preg_match()函数检索字符串模式,如果模式存在则返回true

16910

Web安全|.htaccess奇淫技巧

,所以一个特定目录下 .htaccess 文件指令可能会覆盖其上级目录 .htaccess 文件指令,即子目录指令会覆盖父目录或者主配置文件指令。...如下图当我们访问 index.php 时,便会自动将 /etc/passwd 包含进来: image-20210425152755940 在实际文件上传利用,如果目标环境的当前目录存在至少一个 PHP...条件: •allow_url_fopen 为 On•allow_url_include 为 On•目标环境的当前目录存在至少一个 PHP 文件 php_value auto_append_file data...(3)指定目录写文件(error_log) 前面我们已经了解了,error_log 可以将 PHP 运行报错记录写到指定文件,利用这一点我们可以写Webshell。但是如何触发报错呢?...这就是为什么代码写了一处不存在fl3g.php原因。

5.6K31

PHP代码层防护与绕过

这里讨论一下关键字过滤不完善及常见正则匹配存在问题,并收集了网络上常见PHP全局防护代码进行分析。 Bypass思路:利用数据库特性或过滤函数逻辑缺陷绕过。...> Bypass思路:strpos() 函数查找字符串在另一字符串第一次出现位置。strpos() 函数对大小写敏感。...> 0x03 正则匹配 1、边界关键词 \b 表示单词边界,因此只有独立 "union" 单词会被匹配 PHP过滤代码如下: <?...12345from*/users 2、匹配模式 i 忽略大小写,匹配不考虑大小写,默认不匹配多行 PHP过滤代码如下: <?php if (preg_match("/(?:(union(.*?)...> Bypass思路: 通过换行 \n可绕过,url编码为%0a id=1 union%23%0aseleCT 1,2,3,4 from users 修复方案:   preg_match("/(?

1.3K20

php代码审计-sql注入进阶篇

前言 经过上一篇文章我们已经大概了解sql注入去怎样审计了。但是在实际网站中和用户输入输出接口不可能想那样没有防御措施。...注入成功 url编码绕过 在平常使用url提交数据时,web容器在接到url后会自动进行一次url编码解析,但是由于业务问题有些网站在web容器自动解析之后,通过编写程序对解析参数进行再次url编码解析...|xor|length|union|select|database|if|sleep|substr/i"; if(preg_match($gl,$id1)){ echo"alert('存在危险字符...没有危险字符才会执行下面的代码,接着把id1里参数进行一次url解编码并赋值给 注入语句 分析代码时说到客户端传入参数会进行两次url编码解析之后带入数据库,但危险过滤是在第一次解析之后第二次解析之前执行...也就是说我们可以写入两次url编码过语句绕过preg_match,比如and在过滤范围之中,对and一次url全编码后变为%61%6e%64%0,再进行一次编码为%25%36%31%25%36%65%

2.3K10
领券