正则表达式分析匹配input文本框
来源:互联网 发布:林宥嘉的歌 知乎 编辑:程序博客网 时间:2024/06/08 12:10
今天准备用DW替换查找所有input文本框,于是开始写正则进行匹配。
先来看下以下2种情况有什么不同。
<input(.*+)value="(.*?)"([^>]*?)>
其实这里已经用到了正则表达式的“正则懒惰与贪婪模式”,了解这2种用法就比较方便了。
这里我们需要“懒惰”一下,即尽可能少的重复,找到即返回,不需要再继续匹配。
第1种方法是错的,调试多次都是匹配多数,即贪婪模式。从中不难看出,之所以会贪婪,是因为少了这个符号?
<input(.*+)value="(.*?)"([^>]*?)>
<input(.*?)value="(.*?)"([^>].?)>
换成第2种 懒惰模式即可。而后面的2个正则都是用了懒惰,所以不需要改。
再看这2个
<input(.*?)value="(.*?)"([^>].?)>
<input(.*?)value="(.*?)"([^>]*?)>
/> 或者 空格> (也就是尖括号>左边只会有1个字符匹配)
所以,其他的字符还是会保留,在替换时就被输出了。这并不是想要的结果
而星号"*"是匹配前面的子表达式零次或多次任意,那么就会将多次出现的都匹配出来
class ="xxx" /> 或者 xx任意字符> (也就是尖括号>左边所有条件都会匹配在这个正则 ,本例中即$3)
我们要获取的是第2个正则的内容,即$2,所以正确的用法是以下
用DW替换的话就是这样
上面框:
下面框:<input(.*?)value="(.*?)"([^>]*?)>
//只需要保留第2个正则内容,则只写出$2$2
- 正则表达式分析匹配input文本框
- input 正则匹配
- 正则表达式验证文本框
- 正则表达式文本框校验
- 文本框正则表达式
- 文本框的正则表达式
- 分享一个只能在input文本框里输入正负整数的正则表达式
- 正则表达式限制文本框输入
- 正则表达式限制文本框输入
- UrlRewrite正则表达式匹配、配置实例和分析
- 正则表达式字符匹配
- 正则表达式 匹配"<"方法!
- 正则表达式匹配规则
- 正则表达式匹配规则
- 正则表达式最小匹配
- 正则表达式匹配字符串
- 正则表达式匹配
- 正则表达式匹配汉字
- 在线更新dede程序后 网站出现错误 DedeCMS Error:Tag disabled:\"php\" more...!
- dedecms中自定义模型采集数据的方法
- 修改本地hosts,host路径
- DEDECMS采集完整流程
- 正则表达式中的贪婪与懒惰模式
- 正则表达式分析匹配input文本框
- JEE
- 正则表达式元字符
- php中xdebug配置与参数用法说明
- 【转载】Eclipse加入PHP插件并支持PHP自动提示
- Eclipse超级完美汉化教程
- konaha配置问题小结
- Windows下MySQL zip版的简单安装
- 面向接口编程详解(三)——模式研究