【php正则前瞻跟后顾分析应用】教程文章相关的互联网学习教程文章

jQuery源码中的chunker 正则过滤符分析【图】

代码如下:var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, 这是Jq中最长的一个正则了,也研究了很久,一直很懵懂,感觉还是通过调试,然后一步一步的分析值理解起来比较容易, 我尝试做成图形比较直观一点,以不同的颜色区分了一下,如下图: 分组一是通过以下代码逐一拆分成一个数组的: 代码如下:// 此处循环的作用是拆...

jQuery源码分析-02正则表达式 RegExp 常用正则表达式

作者:nuysoft/JS攻城师/高云 QQ:47214707 EMail:nuysoft@gmail.com 声明:本文为原创文章,如需转载,请注明来源并保留原文链接。 后文预告:jQuery中的正则表达式分析 2.4 常用正则表达式 在网上找到一篇广为流传的文章《常用正则表达式》,逐一分析,不足地方进行补充和纠正。 代码如下:常用的数字正则(严格匹配) 正则 含义 ^[1-9]\d*$ 匹配正整数 ^-[1-9]\d*$ 匹配负整数 ^-?[1-9]\d*$ 匹配整数 ^[1-9]\d*|0$ 匹配非负整...

asp.NET开发中正则表达式中BUG分析

比如以下的代码就是用来测试用正则表达式匹配从 0xff 到 0xffff 的字符。而值范围在 0 到 0xfe 的所有字符是不能被匹配的。   以下为引用的内容: 代码如下:Regex regex = new Regex(@"[/u00FF-/uFFFF]+");   // The characters, whoes value are smaller than 0xff,   // are not expected to be matched.   for (int i = 0; i <0xff; i++) {   string s = new string(new char[] { (char)i });   Debug.Assert(!rege...

JavaScript email邮箱/邮件地址的正则表达式及分析【图】

简言 在做用户注册时,常会用到邮箱/邮件地址的正则表达式。本文列举了几种方案,大家可以根据自己的项目情况,选择最适合的方案。方案1 (常用) 规则定义如下: 以大写字母[A-Z]、小写字母[a-z]、数字[0-9]、下滑线[_]、减号[-]及点号[.]开头,并需要重复一次至多次[+]。中间必须包括@符号。@之后需要连接大写字母[A-Z]、小写字母[a-z]、数字[0-9]、下滑线[_]、减号[-]及点号[.],并需要重复一次至多次[+]。结尾必须是点号[.]连接2...

php与javascript正则匹配中文的方法分析

本文实例讲述了php与javascript正则匹配中文的方法。分享给大家供大家参考,具体如下: php中正则匹配utf-8中文: (重点是:[\x{4e00}-\x{9fa5}]+) $str = "脚本之家"; if (preg_match("/^[\x{4e00}-\x{9fa5}]+$/u",$str,$arr)) {print("该字符串全部是中文");echo <pre>;print_r($arr); } else {print("该字符串不全部是中文");echo <pre>;print_r($arr); }php中正则匹配gbk、gb2312中文: preg_match("/^[".chr(0xa1)."-".chr(...

正则表达式的多行模式与单行模式图文分析【图】

在Expresso中,测试“多行模式” 测试一注意:这里样例文本中3eeeee后面没有回车,光标就在e的后面。匹配的结果是3eeeee,如上图的Search Results区中所示。 为什么这里不能匹配1abcde和2abc? 开启多行模式 ^ 可以匹配字符串开头(字符串的开始位置),也可以匹配行的开头(即换行符\n之后的位置) $ 可以匹配字符串结尾(字符串的结束位置), 也可以匹配行的结尾(即换行符\n之前的位置) 关闭多行模式 ^ 只能匹配字符串开头 ...

正则表达式环视概念与用法分析

本文实例讲述了正则表达式环视概念与用法。分享给大家供大家参考,具体如下: 1.环视又叫预搜索和零宽断言 2.环视又划分为 (=exp)肯定顺序环视 (<=exp)肯定逆序环视 (!exp)否定顺序环视 (<exp)否定逆序环视 3.环视只占用逻辑位置 不占用物理位置 如:匹配后缀名字为txt的文件 字符:file.txt、file2.exe 正则 \w(=.exe) 匹配字符串file2 4.环视的用法 (?=exp)肯定顺序环视的2种用法 ① 查找电话...

JS和C#实现的两个正则替换功能示例分析

本文实例讲述了JS和C#实现的两个正则替换功能。分享给大家供大家参考,具体如下: 应用实例1: 待处理字符串:str="display=test name=mu display=temp" 要求:把display=后的值都改成localhost JS处理方法: str.replace(/display=\w*/g,"display=localhost");C#处理方法: Regex reg=new Regex(@"display=\w*"); str=reg.Replace(str,"display=localhost");应用实例2: 待处理字符串:str="display=test name=mu display=temp" 要...

PHP 正则表达式效率 贪婪、非贪婪与回溯分析(推荐)

先扫盲一下什么是正则表达式的贪婪,什么是非贪婪?或者说什么是匹配优先量词,什么是忽略优先量词? 好吧,我也不知道概念是什么,来举个例子吧。 某同学想过滤之间的内容,那是这么写正则以及程序的。 $str = preg_replace(%<script>.+?</script>%i,,$str);//非贪婪 看起来,好像没什么问题,其实则不然。若 $str = <script<script>alert(document.cookie)</script>>alert(document.cookie)</script>; 那么经过上面的程序处理,其...

正则表达式教程之子表达式用法分析

本文实例讲述了正则表达式教程之子表达式用法。分享给大家供大家参考,具体如下: 注:在所有例子中正则表达式匹配结果包含在源文本中的【和】之间,有的例子会使用java来实现,如果是java本身正则表达式的用法,会在相应的地方说明。所有java例子都在JDK1.6.0_13下测试通过。 一、问题引入 首先来看一个例子,有的短语如Windows 2000虽然是多个单词组成,但其实是一个整体,HTML页面中可以使用非换行空格( 即non-breaking space)...

正则表达式验证IPV4地址功能实例分析

本文实例讲述了正则表达式验证IPV4地址功能。分享给大家供大家参考,具体如下: IPV4地址由4个组数字组成,每组数字之间以.分隔,每组数字的取值范围是0-255。 IPV4必须满足以下四条规则: 1、任何一个1位或2位数字,即0-99; 2、任何一个以1开头的3位数字,即100-199; 3、任何一个以2开头、第2位数字是0-4之间的3位数字,即200-249; 4、任何一个以25开头,第3位数字在0-5之间的3位数字,即250-255。 这样把规则全部罗列出来之后...

深入分析正则表达式的子模式

首先,我们先看一段PHP代码: <?php$time = date ("Y-m-d H:i:s");$pattern = "/\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/i"; if(preg_match($pattern,$time,$arr)){echo "<pre>";print_r($arr); echo "</pre>";} ?>显示结果: Array ([0] => 2012-06-23 03:08:45 ) 有没有注意到,显示的结果只有一条数据,即符合匹配模式的时间格式,那如果只有一条记录的话,为什么还要用数组保存呢?直接使用字符串保存不是更好? 带着这个问题...

正则表达式(regex)错误使用导致功能漏洞分析

写在前面的话 正则表达式它的强大字符串匹配功能,导致目前在各种程序语言中,都非常流行!它被用来描述或者匹配一系列符合某个句法规则的字符串。很多刚刚使用正则表达式都是从听说这个,然后在要使用时候去网上搜索。 很少人一开始就系统去学习正则表达式,从定义原理使用系统学习。因为,对应初学者觉得它太麻烦了,好多原字符。看到那么长一串字符,就很头痛。因此,也懒得去学习。一般遇到问题,直接去网上搜索。如:“邮箱正...

正则表达式匹配解析过程探讨分析(正则表达式匹配原理)【图】

已经有多篇关于正则表达式介绍的文章,随着我们越来越多使用正则表达式,想对性能做优化、减少我们正则表达式书写匹配Bug。我们不得不进一步深入了解正则表达式执行过程了。下面我们一起学习,分析下正则表达式执行过程。我们会用regexbuddy测试工具分解执行过程,具体工具使用,可以看:正则表达式性能测试工具推荐、优化工具推荐(regexbuddy推荐)。要了解正则表达式解析过程前,我们先来熟悉几个概念。 常见正则表达式引擎 引擎决...

正则表达式中的正向预查和负向预查实例分析

本文实例讲述了正则表达式中的正向预查和负向预查。分享给大家供大家参考。具体分析如下: 这里先来看一个例子,再来解释什么是正向预查。 例子:有一段内容为"coming soon,going gogogo",要求把com和go查找出来。代码如下:代码如下:<html> <head> <script type="text/javascript"> //正向预查 function t1(){ var con = document.getElementsByName(content)[0].value; var reg = /\b[\w]+(?=ing\b)/g;//匹配带ing的单词,但是...