匹配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>验证通过。

(0)

相关推荐

  • 正则表达式匹配不包含某些字符串的技巧

    经常我们会遇到想找出不包含某个字符串的文本,程序员最容易想到的是在正则表达式里使用,^(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

随机推荐