浏览 4584 次
锁定老帖子 主题:如何用正则表达式检测文本中的不匹配的括号
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-10-29
((A== B) || (C==D) 如何检测出这种括号的不匹配额呢,请教一下各位大兄弟? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-10-30
这个正则表达式还真不会。
稍微麻烦一点的办法是 使用栈来处理这个问题。 遇见(压栈,遇见)检查栈顶,如果是( ,则 (出栈.扫描结束 如果栈非空则说明存在不匹配,如果需要支持不匹配的行已经位置信息。 构造一个数据结构或者类,压栈就好了。 |
|
返回顶楼 | |
发表时间:2007-10-31
如果我告诉你,可以证明正则表达式无法识别检测这种情况,你会不会觉得意外?
|
|
返回顶楼 | |
发表时间:2007-11-01
数一下左括号和右括号的个数,不等就不匹配
|
|
返回顶楼 | |
发表时间:2007-11-01
birdjavaeye 写道 数一下左括号和右括号的个数,不等就不匹配
())( |
|
返回顶楼 | |
发表时间:2007-11-02
myaniu 写道 这个正则表达式还真不会。
稍微麻烦一点的办法是 使用栈来处理这个问题。 遇见(压栈,遇见)检查栈顶,如果是( ,则 (出栈.扫描结束 如果栈非空则说明存在不匹配,如果需要支持不匹配的行已经位置信息。 构造一个数据结构或者类,压栈就好了。 还不如用一个int值,初始为0,遇(加1,遇)减1 如果中间出现负值或最终结果不为0则不匹配。 |
|
返回顶楼 | |