• 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
  • 微信公众号
您的位置:首页 > 程序设计 >编程问答 > 如何正则匹配成对标签对中的内容?

如何正则匹配成对标签对中的内容?

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

佚名通过本文主要向大家介绍了正则匹配html标签,正则匹配img标签,正则表达式匹配标签,正则匹配a标签,正则匹配标签等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题:如何正则匹配成对标签对中的内容?
描述:

小白。
如:
{未知数量个{},但一定成对}}啦啦啦}}}}}

想匹配到以下内容:
{未知数量个{},但一定成对}

简单地利用非贪婪或贪婪,不是匹配得太少就是太多。如何结合两者呢?


解决方案1:

一楼正解,用栈可以实现。

解决方案2:

标准库里的正则引擎是不支持的。这个 regex 库支持,去网页里搜「recursive」即可找到用法。

解决方案3:

我想你是希望匹配任意层级的成对括号对吧。简单来讲用regex是不可行的。

正则表达式本质上是一个有限状态机,有限状态机除了当前它所在的状态之外,不会存储其他东西。
就匹配任意层级的成对括号而言,需要任意长度的存储(对应于层级)。写死的正则表达式是做不到的,解决该问题的库也是需要动态内存的。参见:http://stackoverflow.com/questions/133601/can-regular-expressions-be-used-to-match-nested-patterns

如果你的问题更加一般(general),比如任意成对标签。最常见的比如XML或者HTML,因为语法的多样和兼容这在实践上会更有难度,你基本得用一个库了。参见:http://stackoverflow.com/questions/701166/can-you-provide-some-examples-of-why-it-is-hard-to-parse-xml-and-html-with-a-reg


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

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

  • 如何正则匹配成对标签对中的内容?

相关文章

  • 2017-06-07 如何给项目添加LOG
  • 2017-06-07 wordpress使用七牛插件404错误
  • 2017-06-07 vfp中读出字段读音
  • 2017-06-07 Python如何实现倒计时效果?
  • 2017-06-07 新浪sae上部署的django19应用上传图片到七牛云存储出错
  • 2017-06-07 TCPDF能不能把PDF文件一页一页的生成多个图像文件?
  • 2017-06-07 关于七牛的视频,文档等转码问题
  • 2017-06-07 流行的「图形描述语言」并且有完整工具链的有哪些?
  • 2017-06-07 (python)jieba分词,同一个词却被分成了两个词,该怎么解决?
  • 2017-06-07 使用scrapy的时候,用了start_requests循环生成要爬取的网址,还需要写start_urls吗?

文章分类

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

最近更新的内容

    • 如何利用php发送curl指令?
    • python生成快速的文件
    • 微信通讯录备份通讯录好友手机号与微博
    • C/C++调用Javajava调用Python不执行
    • rails中如何正确调用七牛的fetchapi?
    • Java多线程java线程同步问题
    • howtoparsingmutilhost:portbypython3
    • 如何对图片实现多次操作
    • oandapython连oanda的模拟交易api第四问
    • python+c的项目打包安装后,找不到c文件在哪?求大神指点

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

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