我想要一个正则表达式,
对于字符串"abcd12aabc",我想把"a"变成"z",然而"aa"不变,期待的结果是"zbcd12aabc",
请问一下,正则表达式应该怎样写呢?

解决方案 »

  1.   

    src = src.replaceAll("(?<!a)a(?!a)", "z");
      

  2.   

        代码如下:    String s="abcd12aabc";   System.out.println(s.replaceFirst("a", "z"));   replaceFirst(String,String)方法挺好,完全没有必要那么复杂!
      

  3.   

    首先需要明确你是针对“abcd12aabc”这个固定的字符串还是某种类型的,如果是某种类型的,那么规律是什么?你这个字符串我如果理解成只替换开头的第一个a的话,可以这样。
    String source="abcd12aabc";
    Pattern p = Pattern.compile("^a");
    String aaa = p.matcher(source).replace("z");