网络编程 
首页 > 网络编程 > 浏览文章

匹配form表单中所有内容的正则表达式

(编辑:jimmy 日期: 2024/10/10 浏览:3 次 )

需求是这样子的:
现在有一个表单
复制代码 代码如下:<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>验证通过。

上一篇:正则表达式(括号)、[中括号]、{大括号}的区别小结
下一篇:正则表达式匹配不包含某些字符串的技巧
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。