![](//m.sbmmt.com/img/upload/article/000/000/001/62c40f8a6142e675.png)
正则表达式:帮忙看下一个正则的写法
2016-06-06 20:47:50原创739
![]()
Html源码
post" action="../cmd.asp?act=SettingSav">
·BLOG CLSID Blog的唯一标识符,防止和同一空间其它Blog冲突,可随意设置为字母或数字的组合 | |
·BLOG用户所在的时区 | |
·主机服务器所在的时区 | |
·BLOG 页面语言 | |
·设置后台最新动态信息的Url地址 默认'http://update.rainbowsoft.org/info/',为空值则关闭此功能 | |
·WEB编辑器 可设为fckeditor等,为空值则不启用WEB编辑 | |
·允许上传文件的类型 以|做为分隔 | |
·上传文件的最大字节数 | |
·上传附件按"年/月"目录保存 | |
·启用RSS的全文输出 | |
·允许游客回复留言 | |
·关闭评论功能 | |
·关闭引用功能 | |
·自定义留言本正文内容 支持HTML代码,可用'<br/>'标签换行 | |
·静态文件后缀名 asp,html,shtml,htm | |
·日志存放目录 该目录必须已存在 | |
·启用自定义静态日志目录功能 Z-Wiki:配置Z-Blog的静态URL | |
·自定义静态日志目录配置 可以是{%post%},{%category%},{%user%},{%year%},{%month%},{%day%},{%id%},{%alias%}之间的组合,可以用/分隔,系统初始化配置是{%post%} | |
·启用静态日志隐匿访问功能 开启匿名功能时自定义静态日志目录配置里必须包含有{%id%}或{%alias%} | |
·生成分类和按月归档的静态首页 | |
·自定义分类和按月归档的静态首页配置 可以是{%post%}{%category%}之间的组合,可以用/分隔,系统初始化配置是{%post%} | |
·匿名访问分类和按月归档的静态首页 | |
·单次重建文件数目 | |
·单次重建文件后的间隔秒数 | |
·WAP每页显示文章数 | |
·WAP每页显示评论数 | |
·WAP文章列表分页页码条长度 | |
·WAP单页文章文字数 | |
·WAP文章分页页码条长度 | |
·WAP评论分页页码条长度 | |
·WAP文件名 | |
·允许WAP评论 默认不允许 | |
·当前Z-Blog程序版本 :
<
script language="javascript">
需求
获取设置信息的key-value以及id
比如(图片中的第一行)
Key:Blog的地址
value:http://xxxxx.com
id:edtZC_BLOG_HOST
对应的正则表达式
(?.*?)
.*?id=\"(?.*?)\".*?value=\"(?.*?)\"
出现的问题
以上正则表达式会跳过标签为:textarea的内容(上图的倒数第二行)
所以,会出现以下结果:
key:BLOG版权说明可以放置备案号和统计代码,支持HTML代码,可用“br”标签换行
value:拥有者(匹配到最后一行)
id:edtZC_BLOG_COPYRIGHT
回复内容:
![]()
Html源码
post" action="../cmd.asp?act=SettingSav">
·BLOG CLSID Blog的唯一标识符,防止和同一空间其它Blog冲突,可随意设置为字母或数字的组合 | |
·BLOG用户所在的时区 | |
·主机服务器所在的时区 | |
·BLOG 页面语言 | |
·设置后台最新动态信息的Url地址 默认'http://update.rainbowsoft.org/info/',为空值则关闭此功能 | |
·WEB编辑器 可设为fckeditor等,为空值则不启用WEB编辑 | |
·允许上传文件的类型 以|做为分隔 | |
·上传文件的最大字节数 | |
·上传附件按"年/月"目录保存 | |
·启用RSS的全文输出 | |
·允许游客回复留言 | |
·关闭评论功能 | |
·关闭引用功能 | |
·自定义留言本正文内容 支持HTML代码,可用'<br/>'标签换行 | |
·静态文件后缀名 asp,html,shtml,htm | |
·日志存放目录 该目录必须已存在 | |
·启用自定义静态日志目录功能 Z-Wiki:配置Z-Blog的静态URL | |
·自定义静态日志目录配置 可以是{%post%},{%category%},{%user%},{%year%},{%month%},{%day%},{%id%},{%alias%}之间的组合,可以用/分隔,系统初始化配置是{%post%} | |
·启用静态日志隐匿访问功能 开启匿名功能时自定义静态日志目录配置里必须包含有{%id%}或{%alias%} | |
·生成分类和按月归档的静态首页 | |
·自定义分类和按月归档的静态首页配置 可以是{%post%}{%category%}之间的组合,可以用/分隔,系统初始化配置是{%post%} | |
·匿名访问分类和按月归档的静态首页 | |
·单次重建文件数目 | |
·单次重建文件后的间隔秒数 | |
·WAP每页显示文章数 | |
·WAP每页显示评论数 | |
·WAP文章列表分页页码条长度 | |
·WAP单页文章文字数 | |
·WAP文章分页页码条长度 | |
·WAP评论分页页码条长度 | |
·WAP文件名 | |
·允许WAP评论 默认不允许 | |
·当前Z-Blog程序版本 :
<
script language="javascript">
需求
获取设置信息的key-value以及id
比如(图片中的第一行)
Key:Blog的地址
value:http://xxxxx.com
id:edtZC_BLOG_HOST
对应的正则表达式
(?.*?)
.*?id=\"(?.*?)\".*?value=\"(?.*?)\"
出现的问题
以上正则表达式会跳过标签为:textarea的内容(上图的倒数第二行)
所以,会出现以下结果:
key:BLOG版权说明可以放置备案号和统计代码,支持HTML代码,可用“br”标签换行
value:拥有者(匹配到最后一行)
id:edtZC_BLOG_COPYRIGHT
像本问题这样,好好交代原本的需求X,就不会形成XY Problem的不良实践。赞一下。
很简单,
的内容是在标签上边的value=""
属性中的,
的内容是在标签里边用
括住的。你的正则表达式只能适应一种目的。
另外求你别用正则这么分析HTML内容,因为源稍微一改就要疲于奔命改匹配,会死的。
好好的用一个HTML解析库,例如Python/Py3K的BeautifulSoup4。
另外无论是用正则凑合,还是真的用HTML解析库,都一个必要注意的问题:必须分解步骤,不要试图一次找准。必须先把表格分解成每一行(...
),然后在行内再做详细的查找。这样起码在出问题的时候,把问题能够约束在当前行之内,不会1行解析有问题就“牵一发而动全身”。
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
![](//m.sbmmt.com/img/upload/aroundimg/000/000/001/63a01f357f088211.png)
相关课程推荐
![](//m.sbmmt.com/img/upload/course/000/000/001/5d1c6df423564706.jpg)
javascript是运行在浏览器上的脚本语言,连续多年,被评为全球最受欢迎的编程语言。是前端开发必备三大法器中,最具杀伤力。如果前端开发是降龙十八掌,好么javascript就是第18掌:亢龙有悔。没有它,你的前端生涯是不完整的。《php.cn独孤九贱(3)-JavaScript视频教程》课程特色:php中文网原创幽默段子系列课程,以恶搞,段子为主题风格的php视频教程!轻松的教学风格,简短的教学模式,让同学们在不知不觉中,学会了javascript知识。
JavaScript教程142375次播放
![](//m.sbmmt.com/img/upload/course/000/000/001/5d1c6e0d2b744633.jpg)
jQuery是一个快速、简洁的JavaScript框架。设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。
核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的css选择器,并且可对CSS选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件。兼容各种主流浏览器,如IE 6.0+、FF 1.5+、Safari 2.0+、Opera 9.0+等,是全球最流行的前端开发框架之一。PHP中文网根据最新版本,独家录制jQuery最新视频教程,回馈PHP中文网的新老用户。
jQuery教程116856次播放
![](//m.sbmmt.com/img/upload/course/000/000/015/612f16c1e1c8e978.jpg)
jQuery是最流行的JS函数库,封装了许多实用的功能,其中最引人入胜的就是Ajax。
jQuery中的Ajax操作,语法简单,操作方便,使Ajax从未如此轻松,前端人员从此不再为与服务器异步交互而发愁,本套课程,精选了最常用的几个方法,从基本的语法到每个参数,再到具体实例进行了全面的讲解。
AJAX教程16560次播放
![](//m.sbmmt.com/img/upload/course/000/000/015/617b8f8af2b97409.jpg)
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持
JavaScript教程14272次播放
1/1
![]()