正则表达式的问题,大虾帮帮忙,给出答案马上给分, JAVA里使用正则表达式判断一个字符串是否是赋值表达式.例如: a2=0;a2=b;都是,但2a=0;a2==a2;a2=2a;就不是,也就是说要判断左值(右值)是否合法 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你要完整的,呵呵,工程大了我举个例子String xxx = "a = 0" ; String yyy = "b = 0";上面2个也不是赋值表达式,而是一个字符串,用正则表达式几乎无法判断,还要计算本行中的双引号呢。如果要写一个完整的要考虑好多情况呢。 [_A-Za-z]+(\s)*(=){1}(\s)*[_A-Za-z0-9]+判断一个"字符串是否是赋值表达式"我想应该能做到了 楼山的是吗?int b = 0;boolean a = (b == 0);那你的正在表达式能不能判断boolean a = (b == 0);这个赋值表达式呢? 谢谢 iouzhui(从来不改变)的热心解答,也谢谢其他几位 刚测试了一下,发现您的表达式还有几个问题:1. 上面括号里的\s不能通过编译,我把他换成\t可以,但这样就只能判断Tab而不能判断空格2. 变量首位不能是数字,(这个没判断),3. 对于 dunne() 的问题,iouzhui(从来不改变) 的表达式是可以区分==以及()(甚至你提出的") 楼上的不能用split先把他截成2段在考虑吗? ([a-zA-Z])*=(0-9)*这个行不行啊? 回 newplayerone() 用Split(),那分割符用什么("="? "=="?) 还有你上面的表达式不能满足,参见 iouzhui (8)兄的,我等下修改好,也贴出来 对于 dunne() 的问题,iouzhui(从来不改变) 的表达式是可以区分==以及()(甚至你提出的")你有没有测过呀,大哥[_A-Za-z]+(\s)*(=){1}(\s)*[_A-Za-z0-9]+这个对于boolean a = (b == 0);根本就找不到!至于"问题,就更不用说了要计算本行复制表达式前的引号次数,同时还要判断是不是\"这种转意引号。这只是最简单的要处理的,还没有算上如果赋值表达中含有注释的情况。 呵呵,dunne()想的真广,我只要简单的判断是不是类似A=B的赋值表达式,谢谢你的思路.不过还有个问题,就刚刚说的\s 在我这里编译是 illegal escape character,怎么判断他有多个空格呢 [_A-Za-z]+(\\s)*(=){1}(\\s)*[_A-Za-z0-9]+ 线程问题 关于Java中调用dos命令问题 Calendar类处理日期 深论panel的用处 如何做一个向导页面的对话框,包含上一步、下一步之类的按钮 jdk1.5中遇到的一些问题 appletviewer 直接跳到java所在盘符下 applet小问题,关于按钮的 请问怎么才能判断在一个路径下java的版本?(没有将其设置为当然jre) 关于基础类型Long的问题,急,谢谢。 开始配置TOMCAT时出现如下错误,是怎么回事> 软件交易
我举个例子
String xxx = "a = 0" ; String yyy = "b = 0";上面2个也不是赋值表达式,而是一个字符串,用正则表达式几乎无法判断,还要计算本行中的双引号呢。如果要写一个完整的要考虑好多情况呢。
判断一个"字符串是否是赋值表达式"
我想应该能做到了
boolean a = (b == 0);那你的正在表达式能不能判断
boolean a = (b == 0);
这个赋值表达式呢?
1. 上面括号里的\s不能通过编译,我把他换成\t可以,但这样就只能判断Tab而不能判断空格
2. 变量首位不能是数字,(这个没判断),
3. 对于 dunne() 的问题,iouzhui(从来不改变) 的表达式是可以区分==以及()(甚至你提出的")
([a-zA-Z])*=(0-9)*
这个行不行啊?
还有你上面的表达式不能满足,参见 iouzhui (8)兄的,我等下修改好,也贴出来
[_A-Za-z]+(\s)*(=){1}(\s)*[_A-Za-z0-9]+
这个对于
boolean a = (b == 0);
根本就找不到!
至于"问题,就更不用说了
要计算本行复制表达式前的引号次数,同时还要判断是不是\"这种转意引号。这只是最简单的要处理的,还没有算上如果赋值表达中含有注释的情况。
不过还有个问题,就刚刚说的\s 在我这里编译是 illegal escape character,怎么判断他有多个空格呢