我想用正则表达式找出一个长字符串里所有的<br>字符串并将其替换
        String specialJapStrReg = "\"<br>\"+";
        Pattern p = Pattern.compile(specialJapStrReg, Pattern.COMMENTS);
        Matcher m = p.matcher(s);但是编译器似乎不将<br>当成一个整体来看,而是将它包含的所有字符都替换了
比如单个的 <,>,b,r也都被替换了
<和>似乎是特殊字符
请问怎么写才能将<br>当成一个整体字符串去看待?

解决方案 »

  1.   

    String specialJapStrReg = "(\"<br>\")+";
      

  2.   


    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    public class TestRex {
    public static void main(String[] args) {
    Pattern p = Pattern.compile("(\\w*\\<br\\>\\w*)*");
    Matcher m = p.matcher("gsdfg<br>hgdf<br>fda");
    System.out.println(m.matches());
    }
    }试试这个 看是不是你想要的
      

  3.   


    public static void main(String[] args) {
            Pattern p = Pattern.compile("(\\w*\\<br\\>\\w*)*");
            Matcher m = p.matcher("gsdfg<br>hgdf<br>fda");
            while(m.find()) {            System.out.println(m.group());
            }    }
    输出gsdfg<br>hgdf<br>fda    似乎不行
      

  4.   

    一句话就完事了:
    "gsdfg<br>hgdf<br>fda".replaceAll("<br>", "");
      

  5.   

    Pattern p = Pattern.compile("<br>");
    Matcher m = p.matcher("gsdfg<br>hgdf<br>fda");
    StringBuffer buf = new StringBuffer();
      while(m.find()) {
      m.appendReplacement(buf, "<br />");
      System.out.println(m.group());
      }
     m.appendTail(buf);
     System.out.println(buf);
      

  6.   

    呵呵 我题目看错了 你是要替换字符串中的<br>是吧 那试试下面这句import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    public class TestRex {
    public static void main(String[] args) {
    String s = "gsdfg<br>hgdf<br>fda";
    System.out.println(s.replaceAll("\\<br\\>", "Java"));
    }
    }