正则表达式验证逻辑表达式的语法正确性

[复制链接]
查看11 | 回复3 | 2011-9-17 19:39:29 | 显示全部楼层 |阅读模式
没办法的, 除非你的表达式就以上五种,如果是自由的比如还可以 A and B and (A and B) or (A and B) or (A or B).... 像这样长一点的,正则跟本没有办法考虑到所有。 要用堆载来做,首先就是解决括号匹配问题, 这点正则就做不到。...
回复

使用道具 举报

千问 | 2011-9-17 19:39:29 | 显示全部楼层
楼主用两条正则来匹配就可以搞定了。1: [0-9a-zA-Z][ ]{1,?}and[0-9a-zA-Z][ ]{1,?}and[0-9a-zA-Z][ ]{1,?}2: [0-9a-zA-Z][ ]{1,?}and[0-9a-zA-Z][ ]{1,?})or([0-9a-zA-Z][ ]{1,?} or[0-9a-zA-Z][ ]{1,?}...
回复

使用道具 举报

千问 | 2011-9-17 19:39:29 | 显示全部楼层
具体的要求不太清楚,你可以试试这个string s = @"^[(][0-9a-zA-Z]+ and [0-9a-zA-Z]+[)] or [(][0-9a-zA-Z]+ and [0-9a-zA-Z]+[)]$|^([0-9a-zA-Z]+ and [0-9a-zA-Z]+ and [0-9a-zA-Z]+)$"; Regex reg = new Re...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行