CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 基础类

正则表达式能进行递归形式的匹配吗?

楼主telenths(_非法操作_)2005-04-04 01:15:24 在 Java / J2SE / 基础类 提问

做项目的时候遇到这样一个问题  
  有一个   递归   形式的表达式  
  基本可以这样描述:  
   
  <atom>   =   "[^(),]"  
  <and>     =   "and("   +   Exp   +   ","   +   Exp   +   ","   +   Exp   ...   +   ")"  
  <or>       =   "or("     +   Exp   +   ","   +   Exp   +   ","   +   Exp   ...   +   ")"  
  <not>     =   "not("   +   Exp   +   ")"  
  Exp   =   <and>|<or>|<not>|<atom>  
   
  输入的的是一个   Expression   例如    
  Exp   =   and   (a1,   b1,   or(c2,   d2,   and(e3,   not(f4),   not(g4),   h3)),   i1,   and(j2,   k2)   )  
   
  在分析这个   Expression   之前需要先进行   validation,   目前是手工分析的,  
  后来想是不是可以通过   Regex   来简化一下,  
  可惜始终无法进行正确的匹配,是不是   Regex   根本就不支持   递归   匹配?  
  或者有没有别的办法可以进行   validation   的?  
   
  问题点数:200、回复次数:5Top

1 楼taglib(不懂就是不懂,别不懂装懂)回复于 2005-04-04 08:36:45 得分 197

正则表示式一般很难做类似内嵌层次的东西,你的想法也许错了,也许应该用yacc/lex吧,参考  
   
  Looking   for   lex   and   yacc   for   Java?   You   don't   know   Jack    
  http://www.javaworld.com/javaworld/jw-12-1996/jw-12-jack.htmlTop

2 楼shan1119(大天使,卐~解!)回复于 2005-04-04 09:05:41 得分 1

我也遇到类似问题,还没想到好的解决不办法,关注!Top

3 楼OnlyFor_love(『勾勾手指头 一辈子不分手』)回复于 2005-04-04 09:13:49 得分 1

关注,不太懂!  
   
  学习学习Top

4 楼qiuzhong1983(老丘)回复于 2005-04-04 09:35:05 得分 1

学习中,UPTop

5 楼telenths(_非法操作_)回复于 2005-04-04 18:35:24 得分 0

不错   是有点类似语法表达式的定义  
  我也发现   Regex   无法完成   嵌套   的匹配     也许是   Regex   天生的不足   :)  
   
  谢谢   taglib(不懂就是不懂,别不懂装懂)Top

相关问题

  • 正则表达式匹配
  • 正则表达式 ---- 模式匹配
  • 正则表达式的匹配问题
  • 用正则表达式怎样匹配正反斜杠??
  • 全字匹配的正则表达式问题!
  • 正则表达式如何匹配HTML标签如何写?
  • 正则表达式如何做多次匹配?
  • 正则表达式匹配中文的问题!??
  • 请提供一个匹配中文的正则表达式!
  • 正则表达式如何匹配一个HTML标签?

关键词

  • exp
  • 递归
  • 匹配
  • regex

得分解答快速导航

  • 帖主:telenths
  • taglib
  • shan1119
  • OnlyFor_love
  • qiuzhong1983

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo