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