A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 龚振 龚振 龚振 中级黑马   /  2012-4-8 19:14  /  2335 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 klas2008 于 2012-4-6 20:32 编辑

X*  X,零次或多次 ,

这里*代表出现0次或者多次,那么出现1次就不会被替换吧

但是以下我用了出现0,1,2,3次的情况都验证了下,结果总是0 2 22 222,也就是把最后一个数字前的0都去掉了。

0*代表0之后这个0出现"0次"或者"多次",那么002的两个0应该保留才对呀。因为它在0之后仅出现了一个0

而如果这个"多次"的意思包括1次的话, 那X+ X,一次或多次 干嘛还要说一次呢,所以这个“多次”应该不包括1吧,那问题就变成上面那句话了。

求解救我晕头转向的脑袋~~~{:soso_e134:}
  1. class Regex   
  2. {
  3.         public static void main(String[] args){
  4.                 String s = "000 002 022 222 ";
  5.                 System.out.println(s.replaceAll("0*(\\d)","$1"));
  6.         }
  7. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
岳民喜 + 1

查看全部评分

2 个回复

倒序浏览
我也晕了。。。
回复 使用道具 举报
人生有风险,入世需谨慎。本回贴不暗示、鼓励、支持或映射读者作出生活方式、工作态度、婚姻交友、子女教育的积极或消极判断。未成年人请在监护人陪同下阅读本贴。无完全民事行为能力者,请立即关闭网页,并用20%高锰酸钾+75%乙醇对键盘、硬盘、电压插座、显示器、鼠标、cpu进行灌溉消毒。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马