String s = "61.54.231.245   61.54.231.245   河南省安阳市 新世纪网吧";System.out.println(s.replaceAll("^([0-9]^) +", "^1,"));在UltraEdit的正则表达式替换功能中可以用^([0-9]^) 和^1,替换上面的字符串,为什么java中不行

解决方案 »

  1.   

    你要达到一种什么样的效果啊
    java中和UltraEdit语法稍微有一点点不同
    如果你是要将 字符串中的数字替换为1的话:
    System.out.println(s.replaceAll("[0-9]", "1")); 如果你要讲 字符串中的非数字替换为1的话:
    System.out.println(s.replaceAll("[^0-9]", "1")); 
      

  2.   

    正则表达式也是有好几种类型的!比如PHP就支持两种类型的正则表达式
      

  3.   

    "^1",在UltraEdit是把分组1不替换,后面的替换为","还是谢谢,我已经解决了,跟大家分享一下,这个题传智的入学测试题,很有代表性。把"61.54.231.245  61.54.231.245  河南省安阳市 新世纪网吧"变成"61.54.231.245,61.54.231.245,河南省安阳市 新世纪网吧" 难点在于汉字间空格不能替换,
    我是这样写的str=str.replaceAll("(?<=[0-9]) +", ",")
      

  4.   

    写法多了吧?
    既然前后都是数字,那么就可以直接替换空格了阿!!!
    正则:s=s.replaceAll("\\d ",",");