Welcome 微信登录

首页 / 正则表达式

正则表达式学习问答

正则表达式学习问答

举个简单的例子吧,Unix下的usr、dev等名字,就是那时留传下来的,现在已经有很多人诟病了,usr不是user,dev不是device,难学,也难记。经过这些年的飞速发展,当年的很多问题已经被包装得美轮美奂,如今的用户可能更习惯直接点击“用户目录”、“驱动器”之类的图标,再也不用为那些不规则的简短名字发愁。但是不幸的是,一直以来正则表达式的语法却没有太多的变化,甚至后续增加的功能,也沿袭了之前的语法风格,在编程语言日渐人性化的今天,它自然显得非常难懂了...
应该如何构造复杂的正则表达式

应该如何构造复杂的正则表达式

文题本来是《如何构造复杂的正则表达式》,但是觉得有些歧义,就感觉正则式本来很简单,我在教人如何将它小事化大一样。正好相反,我的本意是说,即使复杂的正则式也不怕,找出合适的方法,将其构造出来。 避重就轻 Snopo给出的文本是这样的:or and name="zhangsan" and id=001 or age>20 or area="%renmin%" and like,问,如何提取其中正确的SQL查询语句。 简要分析可知,中间部分是合乎要求的,只...
半小时精通正则表达式 经典实例介绍

半小时精通正则表达式 经典实例介绍

开篇,还是得说说 ^ 和 $ 他们是分别用来匹配字符串的开始和结束,以下分别举例说明 如果您是新手,猜你取消 正则表达式30分钟入门教程"^The": 开头一定要有"The"字符串; "of despair$": 结尾一定要有"of despair" 的字符串; 那么, "^abc$": 就是要求以abc开头和以abc结尾的字符串,实际上是只有abc匹配 "notice": 匹配包含notice的字符串 你可以看见如果你没有用我们提到的两个字符(最后一个例...
PHP中的递归正则表达式用法分享

PHP中的递归正则表达式用法分享

什么时候会用到递归正则表达式呢? 当然是待匹配的字串中递归地出现某种模式时(貌似废话). 最经典的例子, 就是递归正则处理嵌套括号的问题了. 例子如下. 假设你的文本中包含了正确配对的嵌套括号. 括号的深度可以是无限层. 你想捕获这样的括号组. 复制代码 代码如下: <?php $string = "some text (a(b(c)d)e) more text"; if(preg_match("/(([^()]+|(?R))*)/",$string...
解决preg_match匹配过多字符长度的限制的思路分析

解决preg_match匹配过多字符长度的限制的思路分析

但是官方的文档里面没有说明这一点。 于是开始测试:将要匹配的字串不断缩短,直到缩为原来1/5的时候可以正常匹配了,所以更加确定了。 到google里一搜,终于找到了解决方案:在php.ini中加入(随便放到哪里,我是直接放第一行的) pcre.backtrack_limit=-1 再次使用preg_match函数测试一下,大概1300多行上万个字符的字符串也能够匹配了。 项目中,用preg_match正则提取目标内容,死活有问题,代码测得死去活来。 后来发...
学习正则!超基础简单例子

学习正则!超基础简单例子

问题是这样的,某个情况下要给:http://jb51.net?a=1 这类url地址追加参数变为:http://jb51.net?a=1&b=2 但是怎么知道已经存在相同参数名呢,例如有这种情况:http://jb51.net?a=1&a=2 这个虽然不会有什么大错误,但是地址栏这样看起来很不好。那怎么办呢?用正则解决吧(本来我想用php的字符串处理解决的,但是后来觉得要学一下正则了就用正则做吧) 以下是我用于返回上一页的后台处理方法 复制代码 代码如下:...
匹配5到10位无重复数字的正则表达式

匹配5到10位无重复数字的正则表达式

对于有重复的5到10位数字可以使用d{5,10} 这样的正则 无重复的5到10位数字我考虑了一下还不会,最然只好查网上。 有一个版本还不错,反正RegexBuddy测试通过了。 复制代码 代码如下:^(?!d*?(d)d*?1)d{5,10}$对于(?!………(……)………1)这样的形式我还没有研究透,有时间我真要细细研究。 上一个php的例子: 复制代码 代码如下: <?php $str = "123456789"; $search = "/^(?...
DW 查找某字符串前的所有字符的正则表达式

DW 查找某字符串前的所有字符的正则表达式

我使用DW 这个所见所得的编辑器来写html时,喜欢写上注释,如<!-- header --> 等等的注释,在一次比较大的改动时,需要批量查找替换,为了批量操作,于是我写了一个正则表达式来进行处理。 查找: 复制代码 代码如下: ( | |.)*?<!-- header --> 效果如图: 还有一个常用的就是字符串之间的字符 如:查找<!-- header start --> 到<!-- header end ...
正则表达式教程之模式修正符使用介绍

正则表达式教程之模式修正符使用介绍

之前我们给大家介绍了正则表达式中的定界符、原子和元字符,那么我们关于正则表达式教程的基本语法就剩下了正则表达式中的模式修正符。本节会向大家介绍模式修正符的概念、模式修正符的构成,以及结合实例的模式修正符的演示,大家在学习完本节内容之后,就完全可以读懂正则表达式了。 什么是模式修正符? 1, 模式修正符就是几个字母,我们在每个正则表达式中可以一次使用一个,也可以连续使用多个,每一个具一定的意义。 2, 模式修正符是对整个正则表达式调优使用,也可以说是对正则表...
正则中需要转义的特殊字符小结

正则中需要转义的特殊字符小结

如果要查找文件名中有*的文件,则需要对*进行转义,即在其前加一个。ls *.txt。正则表达式有以下特殊字符。需要转义 特别字符说明$匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 ‘ " 或 ‘ "。要匹配 $ 字符本身,请使用 $。( )标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用 ( 和 )。*匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 *。+匹...
完美Email验证正则表达式

完美Email验证正则表达式

际域名格式如下: 域名由各国文字的特定字符集、英文字母、数字及“-”(即连字符或减号)任意组合而成, 但开头及结尾均不能含有“-”,“-”不能连续出现 。 域名中字母不分大小写。域名最长可达60个字节(包括后缀.com、.net、.org等)。 /^[a-z]([a-z0-9]*[-_]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[.][a-z]{2,3}([.][a-z]{2})?$/i; /内容/i 构成一个不区分大小...
让editplus3 函数模板完全显示函数

让editplus3 函数模板完全显示函数

我是常常使用editplus ,主要是它启动快,文件小,自定义代码,绿色。发现当用他打开php有一个快捷键ctrl+F11可以打开函数列表,也就是文件内所有的函数名会显示在列表中,双击会选中函数,非常方便但是默认安装好editplus 3 不支持面向对象的方法 如 final、static 的显示 ,于是我看了下函数模板的设置,也是用正则表达式的配置,轻松改好正则OKl了,正则如:复制代码 代码如下:^[ ]*(public |private |prot...
<< 21 22 23 24 25 26 27 28 29 30 >>