首页
学习
活动
专区
圈层
工具
发布

PHP中正则的使用

正则表达式,作为一种快速、便捷的处理字符串的工具,在各种编程语言中都有着广泛的用途,通过在PHP中的一些使用,下面记录一下关于PHP中正则使用的一些技巧。...PHP中的正则函数: php中有两套正则函数,两者功能差不多,分别为: 一套是由PCRE(Perl Compatible Regular Expression)库提供的。...使用以“ereg_”为前缀命名的函数;(POSIX的正则函数库,自PHP 5.3以后,就不在推荐使用,从PHP6以后,就将被移除) 由于POSIX正则即将推出历史舞台,并且PCRE和perl的形式差不多...匹配字符串串尾的原子 \b       匹配单词的边界     /\bis/   匹配头为is的字符串   /is\b/   匹配尾为is的字符串   /\bis\b/ 定界 \B       匹配除单词边界之外的任意字符...   /\Bis/   匹配单词“This”中的“is” \d     匹配一个数字;等价于[0-9] \D     匹配除数字以外任何一个字符;等价于[^0-9] \w     匹配一个英文字母、数字或下划线

4.7K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    js数字正则-JavaScript正则表达式

    记住js数字正则,在一个完整的正则表达式中“\”后面总是跟着另外一个字符。   ...比如我们要匹配一个0-9的数字: var i = 5; var j = 6;   这个正则表达式要如何书写才能同时匹配这两个数字呢?...简单的字符表达式当然无法完成了js数字正则,这个时候我们就可以为0-9十个数字来定义一个字符集合(字符类)来进行匹配。...当然是有的,为字符或数字指定一个匹配范围就可以了。...\b”匹配的是一个位置,一个位于”\w“(字母,数字,下划线)和”\W“之间的位置。   既然有”\b”,那有”\B”吗?当然,他和”\b“刚好相反,由来匹配一个不是单词边界的位置。

    8.4K20

    PHP 正则表达式及常用正则汇总

    [a-z] 字符范围,匹配指定范围内的任意字符。 75.    76.    [^a-z] 负值字符范围,匹配任何不在指定范围内的任意字符。 77.    78.    ...\nml 如果 n 为八进制数字 (0-3),且 m 和 l 均为八进制数字 (0-7),则匹配八进制转义值 nml。 115.    116.    ...\un 匹配 n,其中 n 是一个用四个十六进制数字表示的Unicode字符。 117.    118.    匹配中文字符的正则表达式: [u4e00-u9fa5] 119.    120.    ...用正则表达式限制只能输入数字:onkeyup="value=value.replace(/[^d]/g,'') "onbeforepaste="clipboardData.setData('text',...用正则表达式限制只能输入数字和英文:onkeyup="value=value.replace(/[W]/g,'') "onbeforepaste="clipboardData.setData('text

    4.4K51

    PHP正则表达式

    正则表达式 1、正则表达式中包含三种元素分别为:量词、元字符、修饰符 2、前导字符串:就是符号前面的一个字符或字符串 量词 说明 + 匹配任何至少包含一个前导字符串 * 匹配任何包含零个或多个前导字符串...匹配任意一个字符串 {x} 匹配任何包含x个前导字符串 {x,y} 匹配任何包含 x 到 y 个前导字符串 {x,} 匹配任何包含至少x个前导字符串 ^ 匹配字符串的行首 $ 匹配字符串的行尾...a-zA-Z0-9_] 匹配任何包含a-zA-Z0-9和下划线的字符串 \w 匹配任何包含a-zA-Z0-9和下划线的字符串 \W 匹配任何不包含a-zA-Z0-9和下划线的字符串 \d 匹配任何包含数字字符...\D 匹配任何非数字字符 \s 匹配任何空白字符 \S 匹配任何非空白字符 \b 匹配是否到达了单词边界 \B 匹配没有到达了单词边界 \ 匹配正则中的特殊字符  //元字符   echo preg_match...本文链接:https://www.xy586.top/12426.html 转载请注明文章来源:行云博客 » PHP正则表达式

    2.6K10

    【PHP小课堂】PHP中PRGE正则函数的学习

    PHP中PRGE正则函数的学习 正则表达式的作用想必不用我多说了,大家在日常的开发中或多或少都会接触到。特别是对于一些登录(邮箱、手机号)以及网页爬虫来说,正则表达式就是神器一般的存在。...在 PHP 中,有两种处理正则表达式的函数,今天我们就来学习其中的一种。...设置为 PREG_OFFSET_CAPTURE 的话,在格式上其实和默认情况下是一样的,只是每个数组内部又多了一个表示匹配位置的数字下标值。.../2021/03/source/6.PHP中PRGE正则函数的学习.php on line 332 // 1 // print_r(preg_last_error_msg()); // php8 而在...不过我的电脑上还没有安装 PHP8 所以这块内容就不展示了。 总结 PHP 中正则操作的函数就这些,但正则真正的精髓其实是在于正则表达式怎么写这一块。

    1.2K10

    用正则表达式匹配3的任意倍数

    正则表达式能匹配3的任意倍数?(注意是任意倍数) ,我曾经也很震惊,但确实可以。...这种从前到后按位去mod的方式就和正则表达式从前到后按字符去匹配的方式一致了,我们可以按当前状态和新到的数字去计算下一个状态是啥了。...这个正则表达式我自己实在是没推导出来,所以推导过程引用了知乎的内容,但我找到了能够将任意DFA转成正则表达式的方法,文章开头的正则表达式就是我用代码自动生成的,接下来就教你DFA如何自动转正则表达式。...彩蛋 这里分别列一下能匹配1-6的任意倍数的正则表达式。为什么不列更多,因为后面生成的正则表达式已经越来越长了,列不下了,7的就已经几千个字符了,有兴趣大家可以自己跑下上面代码生成下。...事实上因为正则表达式越来越长,数字越大越耗资源,我自己电脑跑16就跑不出结果了。

    2.4K20

    如何使用正则处理数字数据

    1、问题背景我们有一个数字流 [0,0,0,7,8,0,0,2,5,6,10,11,10,13,5,0,1,0,…],希望通过正则表达式来处理它,找到符合以下模式的"波动":[[ >= 5 ]]{3,}...2.2 正则表达式引擎另一个解决这个问题的方法是使用正则表达式引擎。正则表达式引擎是一种用来匹配字符串中特定模式的工具。我们可以使用正则表达式引擎来匹配符合模式的子数组。...例如,我们可以使用以下正则表达式来匹配符合模式的子数组:([[ >=5 ]]{3,})[[ 正则表达式表示:[[ >=5 ]]{3,}:连续3个以上数字 >= 5[[ 数字 正则表达式引擎来解决这个问题:import redef process(numbers): pattern = re.compile...2.3 性能比较状态机和正则表达式引擎这两种方法都可以用来解决这个问题。在性能上,状态机通常比正则表达式引擎更快。这是因为状态机只需要遍历数字流一次,而正则表达式引擎需要遍历数字流多次。

    43110

    PHP代码审计03之实例化任意对象漏洞

    如果PHP版本在5~5.3之间,就可以使用路径穿越来包含任意文件,比如类名为../../../../../etc/passwd的查找,那么将查看passwd的内容。...第二处漏洞是在上面代码的第10行,我们发现实例化的类名和传入的参数都是我们可以控制的,所以我们可以通过这个漏洞调用PHP代码库的任意构造构造函数。...这里需要注意一点:要结合PHP流的使用,因为当文件中存在: & ' " 等符号时会导致XML解析错误。我们用PHP流进行base_64编码输出就可以了。 什么是PHP流呢?...: php://stdin php://stdout php://stderr php://input php://output php://fd php://memory php://temp php...://filter 咱们用的最多的是php://input、php://output、php://filter。

    1.7K10

    PHP任意文件上传漏洞(CVE-2015-2348)

    安全研究人员今天发布了一个中危漏洞——PHP任意文件上传漏洞(CVE-2015-2348)。 在上传文件的时候只判断文件名是合法的文件名就断定这个文件不是恶意文件,这确实会导致其他安全问题。...filename , string $destination ) 这里的问题是,可以在文件名中插入空字符(之前多次修复过这个漏洞,比如CVE-2006-7243),利用插入空字符的方式,攻击者可以上传任意文件...这段代码有好多个漏洞,比如XSCH, XSS等,但是没有RCE这种严重的漏洞,因为从PHP 5.3.1开始,空字符的问题已经被修复了。...']['tmp_name'],"/file.php\x00.jpg"); 这本应该创建一个名为file.php\x00.jpg的文件,但实际上创建的文件是file.php。...如果你机器的php版本在 5.4.39, 5.5.x - 5.5.23, 或者 5.6.x - 5.6.7,可以通过检查文件名中是否有\x00字符来解决本文中所述的问题。

    2.4K50

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

    1、正则表达式中包含三种元素分别为:量词、元字符、修饰符 2、前导字符串:就是符号前面的一个字符或字符串 量词 说明 匹配任何至少包含一个前导字符串 匹配任何包含零个或多个前导字符串...匹配任意一个字符串 {x} 匹配任何包含x个前导字符串 {x,y} 匹配任何包含 x 到 y 个前导字符串 {x,} 匹配任何包含至少x个前导字符串 ^ 匹配字符串的行首 $ 匹配字符串的行尾...匹配任何包含a-zA-Z0-9和下划线的字符串 \w 匹配任何包含a-zA-Z0-9和下划线的字符串 \W 匹配任何不包含a-zA-Z0-9和下划线的字符串 \d 匹配任何包含数字字符...\D 匹配任何非数字字符 \s 匹配任何空白字符 \S 匹配任何非空白字符 \b 匹配是否到达了单词边界 \B 匹配没有到达了单词边界 \ 匹配正则中的特殊字符...( [0] => php5 [1] => php6 [2] => php7 ) //preg_match() echo preg_match('/php[0-9]/','php5');//返回1

    1.8K30
    领券