主页 > 知识库 > 正则表达式(regex)或操作符”|“使用易出现功能Bug

正则表达式(regex)或操作符”|“使用易出现功能Bug

热门标签:鄂州人工智能电销机器人软件 线上教育ai外呼系统 css百度地图标注位置显示 实用地图标注app 宿迁智能外呼系统供应商 400免费电话去哪申请 地图标注商户中心要收钱多少 菏泽智能ai电销机器人销售公司 地图标注字母的软件

接上一篇:正则表达式(regex)错误使用导致功能漏洞 ,我们继续梳理,正则表达式错误使用,导致功能设计漏洞(bug),做web方面,需要掌握的知识很多,网站开发这项工作,在国内也就10多年,很多开发人员,都是通过:培训(自学) ->模仿->做项目 ,这样一个过程。很多就是修修改改后,就成为了web开发工程师。这行入门低,很容易上手。但是想成为大师级的,还是很不容易。需要学习,掌握的知识几十门。而对于刚刚入门同人,很多时候因为缺乏系统学习,理论支持。导致提升有些心有余而力不足啦!因此,出现这些或多或少的功能设计漏洞,是很常见的!

好了,有些跑题了,在做代码走查时候,这类漏洞也是时常出现。我们看下,下面代码:

?php
$user="bcd123张三";
///匹配用户名中出现abc还有bcd开头,后面紧跟是数字字符
 
preg_match_all("/abc|bcd\d+/",$user,$match);
var_dump($match);
 
/*结果是
array(1) {
 [0]=>
 array(1) {
 [0]=>
 string(6) "bcd123"
 }
}
*/

查找所有页面出现abc或者bcd开头,后面紧跟数字字符串。通过上面,我们看,正确匹配到bcd123,如果我们输入:$user = “abc123张三”, 发现不能匹配到了。原因是”|”字符,优先级最低,以上写法会变成:匹配abc 或者是bcd\d+ 字符串。

以上图,将|,包含到()中。

如果要提升优先级,可以(abc|bcd)\d+ ,匹配所有abc或者bcd 字符串,并且后面紧跟数字的。在使用”|”字符串,注意它的优先级级别低,如果要优先匹配,可以放入()中。

您可能感兴趣的文章:
  • Java正则表达式处理特殊字符转义的方法
  • 正则表达式字符类加深理解
  • 正则表达式\d元字符(相对于数字0-9)
  • 正则表达式\W元字符使用方法
  • 正则表达式\w元字符使用介绍
  • 利用正则表达式判断一个给定的字符是否是回文
  • 使用正则表达式替换报表名称中的特殊字符(推荐)
  • C#正则表达式转义字符介绍
  • 正则表达式匹配任意字符(包括换行符)的写法
  • 正则表达式匹配不包含某些字符串的技巧
  • 正则表达式教程之操作符及说明详解

标签:鞍山 三亚 绵阳 池州 梅州 咸阳 恩施 六安

巨人网络通讯声明:本文标题《正则表达式(regex)或操作符”|“使用易出现功能Bug》,本文关键词  正则,表达式,regex,或,操作,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《正则表达式(regex)或操作符”|“使用易出现功能Bug》相关的同类信息!
  • 本页收集关于正则表达式(regex)或操作符”|“使用易出现功能Bug的相关信息资讯供网民参考!
  • 推荐文章