• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >编程问答 > 关于javascript正则的一个棘手问题

关于javascript正则的一个棘手问题

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-07

佚名通过本文主要向大家介绍了棘手问题,如何处理棘手问题,遇到棘手问题,处理棘手问题,形容问题棘手的成语等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题:关于javascript正则的一个棘手问题
描述:

<section>
 
    //此处为任何内容,会动态改变
        
</section>
<table>
    //此处也为任何内容,会动态改变
</table>

以上内容以字符串形式复制给了变量str,我需要用正则从str中分别提取<section></section>和<table></table>之间的内容(包括section和table)赋值给str1和str2,我知道一般的正则方法,现在问题是两标签之间的内容可能会包含<section>或<table>,导致多匹配或少匹配。如/(<section>[\s\S]*<\/section>)|(<table[\s\S]*<\/div>)/
因为内容是随时变化的,请问有没有办法,在不受标签未知内容的影响下完美匹配?
有的话,请给个demo,谢谢!


解决方案1:

正则不清楚,既然是字符串,通过字符串的查找就能实现。
var pos = str.indexOf("<\/section><table>");

var getSection =str.subString(0,pos)+"<\/section>"

var getTable = "<table>"+str.subString(pos+("<\/section><table>".length))

这手机回答,太难受了,。。。。

解决方案2:

http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454

解决方案3:

根据楼上的答案在http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454里找到了一个大概能看懂的类似的问题,其中有一个点赞排名第二的人的回答:
While it is true that asking regexes to parse arbitrary HTML is like asking Paris Hilton to write an operating system, it's sometimes appropriate to parse a limited, known set of HTML.

If you have a small set of HTML pages that you want to scrape data from and then stuff into a database, regexes might work fine. For example, I recently wanted to get the names, parties, and districts of Australian federal Representatives, which I got off of the Parliament's Web site. This was a limited, one-time job.

Regexes worked just fine for me, and were very fast to set up.
edited Jul 23 '14 at 1:59

community wiki
3 revs, 3 users 73%
Kaitlin Duck Sherwood
根据词典翻译大概如下:然而这是事实,要求正则表达式分析任意HTML就像让帕丽斯·希尔顿写一个操作系统。去解析一个有限,已知的HTML是合适的。如果你有少量的HTML页面,要从中获取数据,然后到数据库的东西,正则表达式可能工作正常。例如,我最近想把名字、当事人以及澳大利亚联邦区代表,从Parliament's 网站上得到它们。这是一个有限的、一次性的工作。 正则表达式对我很好,是非常快速的建立。community wiki 3 revs, 3 users 73%
Kaitlin Duck Sherwoo
更新-:
如果只是套一对标签(比如section),匹配里面的任意内容好像是可以得,找到一个可以匹配嵌套标签的例子“平衡组的一个最常见的应用就是匹配HTML,下面这个例子可以匹配嵌套的<div>标签:<div[^>]*>[^<>]*(((?'Open'<div[^>]*>)[^<>]*)+((?'-Open'</div>)[^<>]*)+)*(?(Open)(?!))</div>...”http://c.biancheng.net/cpp/html/1419.html
不过这样还不是我想要的效果。


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 关于javascript正则的一个棘手问题

相关文章

  • 2017-06-07 python将当前时间转为整数或者浮点数
  • 2017-06-07 pythonflask,helloworld都跑不过啊。。。
  • 2017-06-07 python中,input获取内容赋值和直接赋值有什么区别?
  • 2017-06-07 python爬虫(python)scrapy爬虫不能循环运行?
  • 2017-06-07 sdk能否直接上传远程图片url到七牛
  • 2017-06-07 Ruby的块和C语言的块的区别
  • 2017-06-07"符号" target="_blank"> php正则怎么匹配非html标签的"<",">"符号
  • 2017-06-07 七牛云存储-处理结果另存(saveas),如何触发生成裁剪处理后的图片
  • 2017-06-07 python33中通过比较距离完成对应点对匹配
  • 2017-06-07 restapi关于restapi的几个问题

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • pythonwordcloudwhlisnotasupportedwheelonthisplatform
    • (python)如何在Flask中创建Celery实例?
    • qq空间密码怎么设置vs2017怎么设置为utf8?
    • 如何使用正则表达式提取友好时间字符串?
    • (shell)python版本切换问题以及库兼容问题
    • 可以查看某个静态资源访问次数么,有相关api么
    • jbossportal是怎么获得当前用户?怎么控制页面权限?
    • memcache客户端使用问题
    • maven2在eclipse中启动drools-guvnor是出现如下错误
    • githubcom/mystorycc开源代码非常好,有没有更简洁的办法部署代码呢?

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有