正则表达式如何匹配字符串

dushuchen 2011-02-03 04:17:39
我想用正则表达式找出一个长字符串里所有的<br>字符串并将其替换
String specialJapStrReg = "\"<br>\"+";
Pattern p = Pattern.compile(specialJapStrReg, Pattern.COMMENTS);
Matcher m = p.matcher(s);

但是编译器似乎不将<br>当成一个整体来看,而是将它包含的所有字符都替换了
比如单个的 <,>,b,r也都被替换了
<和>似乎是特殊字符
请问怎么写才能将<br>当成一个整体字符串去看待?
...全文
922 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
TKD03072010 2011-02-04
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 dushuchen 的回复:]

引用 5 楼 tkd03072010 的回复:
Java code

import java.util.regex.Matcher;
import java.util.regex.Pattern;


public class TestRex {
public static void main(String[] args) {
Pattern p = Pattern.compi……
[/Quote]
呵呵 我题目看错了 你是要替换字符串中的<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"));
}
}
hjllii 2011-02-04
  • 打赏
  • 举报
回复
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);
TKD03072010 2011-02-04
  • 打赏
  • 举报
回复

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());
}
}

试试这个 看是不是你想要的
iambic 2011-02-04
  • 打赏
  • 举报
回复
一句话就完事了:
"gsdfg<br>hgdf<br>fda".replaceAll("<br>", "");

dushuchen 2011-02-04
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 tkd03072010 的回复:]
Java code

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……
[/Quote]



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 似乎不行
closewbq 2011-02-03
  • 打赏
  • 举报
回复
把+号去掉!
dushuchen 2011-02-03
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 inhibitory 的回复:]
String specialJapStrReg = "(\"<br>\")+";
[/Quote]



谢谢 但是还是不行
Inhibitory 2011-02-03
  • 打赏
  • 举报
回复
String specialJapStrReg = "(\"<br>\")+";
dushuchen 2011-02-03
  • 打赏
  • 举报
回复
先谢谢大家

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧