匹配form表单中所有内容的正则表达式
需求是这样子的:
现在有一个表单
<form action='mk.php'>.......</form>
表单里面的省略号代表里面的内容,里面有各式各样的标签<>。
想写一个正则表达式匹配整个form表单,包括form标签,是html文件里面的内容。
首先想到的是:
<form .*</form>
这样子:
<form [^>]*/form>
还有这样子:
<form .*<\/form>
只要是form里面有标签的,这样都匹配不到内容,莫名其妙啊,也不知道是什么原因。
后来请教了一个正则表达式的高手,他告诉我了另外一种写法:
代码如下:
<form [\s\S]*</form>
这涉及到了贪婪模式和非贪婪模式。
[\s\S] 意思是匹配所有 空白字符+非空白字符 , 说白了也就是全部字符都可以
* 意思是0个或多个, 直到遇到了后边的就停止了。
这样子就匹配了form里面的所有内容了。
注:小编在DW中使用<form [\s\S]*</form>验证通过。
相关推荐
-
正则表达式匹配不包含某些字符串的技巧
经常我们会遇到想找出不包含某个字符串的文本,程序员最容易想到的是在正则表达式里使用,^(hede)来过滤"hede"字串,但这种写法是错误的.我们可以这样写:[^hede],但这样的正则表达式完全是另外一个意思,它的意思是字符串里不能包含'h','e','d'三个但字符.那什么样的正则表达式能过滤出不包含完整"hello"字串的信息呢? 事实上,说正则表达式里不支持逆向匹配并不是百分之百的正确.就像这个问题,我们就可以使用否定式查找来模拟出逆向匹配,从而解决我们的问
-
C#匹配中文字符串的4种正则表达式分享
本文介绍在C#中使用匹配中文的正则表达式,包括纯中文.有中文.中文开头.中文结尾等几个正则表达式示例.在正则表达式中,中文可以通过Unicode编码来确定正则表达式范围. 在C#中,匹配中文的正则表达式用Unicode来表示时,范围是: [\u4e00-\u9fa5].所以,在此基础上,我们可以得到如下一些正则表达式. 1.匹配字符串全部是中文字符的正则表达式 复制代码 代码如下: "^[\u4e00-\u9fa5]+$" 说明:"^"表示字符串开头,"$
-
js 正则表达式学习笔记之匹配字符串
今天看了第5章几个例子,有点收获,记录下来当作回顾也当作分享. 关于匹配字符串问题,有很多种类型,今天讨论 js 代码里的字符串匹配.(因为我想学完之后写个语法高亮练手,所以用js代码当作例子) 复制代码 代码如下: var str1 = "我是字符串1哦,快把我取走", str2 = "我是字符串2哦,快把我取走"; 比如这样一个字符串,匹配起来很简单 /"[^"]*"/g 即可. PS: 白色截图是 chrome 34 控制台中
-
Python正则表达式匹配ip地址实例
本文实例讲述了正则表达式匹配ip地址实例.代码结构非常简单易懂.分享给大家供大家参考. 主要实现代码如下: import re reip = re.compile(r'(?<![\.\d])(?:\d{1,3}\.){3}\d{1,3}(?![\.\d])') for ip in reip.findall(line): print "ip>>>", ip PS:关于正则,这里再为大家推荐2款非常方便的正则表达式工具供大家参考使用: JavaScript正则表达式
-
匹配5到10位无重复数字的正则表达式
对于有重复的5到10位数字可以使用\d{5,10} 这样的正则 无重复的5到10位数字我考虑了一下还不会,最然只好查网上. 有一个版本还不错,反正RegexBuddy测试通过了. 复制代码 代码如下: ^(?!\d*?(\d)\d*?\1)\d{5,10}$ 对于(?!---(--)---\1)这样的形式我还没有研究透,有时间我真要细细研究. 上一个php的例子: 复制代码 代码如下: <?php $str = '123456789'; $search = '/^(?!\d*?(\d)\d*?\
-
Shell脚本中通过正则表达式匹配IP地址
在运维场景下,我们经常需要在服务器上用正则表达式来匹配IP地址. shell和其它编程语言一样,也可以使用正则分组捕获,不过不能使用 $1或\1这样的形式来捕获分组,可以通过数组${BASH_REMATCH}来获得,如${BASH_REMATCH[1]},${BASH_REMATCH[N]} 下面以ip="121.0.2.2"为例,shell脚本代码如下(当然,你要做成更通用交互式的脚本,可以通过expect来实现): 复制代码 代码如下: #!/bin/bash ip="1
-
javascript中匹配价格的正则表达式
复制代码 代码如下: /^(d*.d{0,2}|d+).*$/ hansir给出的测试代码如下: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xht
-
js正则表达式匹配数字字母下划线等
1.一个正则表达式,只含有汉字.数字.字母.下划线不能以下划线开头和结尾: ^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]+$ 其中: ^ 与字符串开始的地方匹配 (?!_) 不能以_开头 (?!.*?_$) 不能以_结尾 [a-zA-Z0-9_\u4e00-\u9fa5]+ 至少一个汉字.数字.字母.下划线 $ 与字符串结束的地方匹配 放在程序里前面加@,否则需要\\进行转义 @"^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]
-
在C#中如何使用正式表达式获取匹配所需数据
需求:获取一串字符串中,正则匹配出需要的数据. 例如以下字符串: string temp ="ErrorCode:-1,Message:{"UserId" : "1000","userName" : "ZhangSan"}"; 我需要获得"-1"和"{"UserId" : "1000","userName" : &qu
-
匹配中文汉字的正则表达式介绍
\w匹配的仅仅是中文,数字,字母,对于国人来讲,仅匹配中文时常会用到,见下 复制代码 代码如下: 匹配中文字符的正则表达式: [\u4e00-\u9fa5] 或许你也需要匹配双字节字符,中文也是双字节的字符 复制代码 代码如下: 匹配双字节字符(包括汉字在内):[^\x00-\xff] 注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) PS:关于正则,本站还提供了2款非常简便实用的正则表达式工具供大家参考使用: JavaScript正则表达式在线测试工具: http:/
-
python正则表达式去掉数字中的逗号(python正则匹配逗号)
分析 数字中经常是3个数字一组,之后跟一个逗号,因此规律为:***,***,*** 正则式 复制代码 代码如下: [a-z]+,[a-z]? 复制代码 代码如下: import re sen = "abc,123,456,789,mnp"p = re.compile("\d+,\d+?") for com in p.finditer(sen): mm = com.group() print "hi:", mm print &qu
-
浅谈php正则表达式中的非贪婪模式匹配的使用
通常我们会这么写: 复制代码 代码如下: $str = "http://www.baidu/.com?url=www.sina.com/"; preg_match("/http:(.*)com/", $str, $matches); print_r($matches); 结果: 复制代码 代码如下: Array ( [0] => http://www.baidu/.com?url=www.sina.com [1] => //www.baidu/.com?
-
PowerShell中使用正则表达式匹配字符串实例
本文介绍PowerShell中使用match操作符,配合正则表达式从字符串提取指定的内容. 使用正则表达式,除了可以确定字符串是否匹配某一个正则表达式规则之外,另一个很重要的应用就是从字符串中提取出指定的内容.什么意思呢,举个例子,一个字符串中有出现连续的三个数字,我们想很方便的把这三个数字提取出来,那么就可以用正则表达式. 复制代码 代码如下: PS C:\Users\Hong> $str="abc123abc" PS C:\Users\Hong> $pattern=&q
-
C#正则表达式匹配HTML中的图片路径,图片地址代码
一般来说一个 HTML 文档有很多标签,比如"<html>"."<body>"."<table>"等,想把文档中的 img 标签提取出来并不是一件容易的事.由于 img 标签样式变化多端,使提取的时候用程序寻找并不容易.于是想要寻找它们就必须写一个非常健全的正则表达式,不然有可能会找得不全,或者找出来的不是正确的 img 标签.我们可以从 HTML 标签的格式去想应该怎么建这个正则表达式.首先要想一下 img
随机推荐
- 史上最简单的MySQL数据备份与还原教程(上)(三十五)
- MongoDB中连接字符串的编写
- 在vista下使用加载项扩展IE7的功能
- oracle em 按钮乱码解决办法及em网页变成英文
- ES6新特性之类(Class)和继承(Extends)相关概念与用法分析
- javascript实现简易计算器
- ajax分页效果(bootstrap模态框)
- 通过MySQL优化Discuz!的热帖翻页的技巧
- AjaxSubmit()提交file文件
- Java中Date,Calendar,Timestamp的区别以及相互转换与使用
- Mysql中 unique列插入重复值该怎么解决呢
- 浅谈线性表的原理及简单实现方法
- w3wp.exe内存占用过高(网站打不开,应用程序池回收就正常)
- 扩展Bootstrap Tooltip插件使其可交互的方法
- 微信开发协议小结
- struts升级到2.5.2遇到的问题及解决方案(推荐)
- 浅谈php中include文件变量作用域
- 高仿网易新闻顶部滑动条效果实现代码
- vscode 远程调试python的方法
- Python SQLite3简介