紧急求救,在线等:求正则表达式

sdav 2010-05-11 06:31:09
String HtmlBody = "<a>$abc123$</a>sdasfsadfsdfsadfasdf<a>sdav</a>$diav$";
//我想匹配出两个$符号之间的内容.如上这个字符串,应该匹配出$abc123$和$diav$两项.
String RegexStr = "\$.*\$";
Pattern pattern = Pattern.compile(RegexStr);
Matcher matcher = pattern.matcher(HtmlBody);
boolean IsMatcher= matcher.matches();
if(IsMatcher)
{
System.out.println("匹配结果:" + IsMatcher);
System.out.println("匹配数量:" + matcher.groupCount());
}
else
{
System.out.println("没有匹配的项!");
}

各位老大帮帮忙,这个正则表达式该怎么写啊?
...全文
75 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
sdav 2010-05-11
  • 打赏
  • 举报
回复
呵呵,谢谢你,我自己弄出来了,呵呵

Pattern pattern = Pattern.compile("\\$\\S+\\$");
justlearn 2010-05-11
  • 打赏
  • 举报
回复
Pattern pattern = Pattern.compile("\\$[^\\$]+\\$");

那就改成这样,前面你没有#数据的
sdav 2010-05-11
  • 打赏
  • 举报
回复
String HtmlBody = "<a>$abc123$</a><a>$dav#年龄#18#男$</a>sdasfsadfsdfsadfasdf<a>sdav</a>$diav$";
//我想匹配出两个$符号之间的内容.如上这个字符串,应该匹配出$abc123$,$diav$,$dav#年龄#18#男$三项.
Pattern pattern = Pattern.compile("\\$\\w+\\$");
Matcher matcher = pattern.matcher(HtmlBody);
while (matcher.find()) {
System.out.println(matcher.group());
}
//如上这样写的话,$abc123$,$diav$可以匹配出来,可是$dav#年龄#18#男$就匹配不出来了,为什么呢?
justlearn 2010-05-11
  • 打赏
  • 举报
回复

String HtmlBody = "<a>$abc123$</a>sdasfsadfsdfsadfasdf<a>sdav</a>$diav$";
//我想匹配出两个$符号之间的内容.如上这个字符串,应该匹配出$abc123$和$diav$两项.
Pattern pattern = Pattern.compile("\\$\\w+\\$");
Matcher matcher = pattern.matcher(HtmlBody);

while (matcher.find()) {
System.out.println(matcher.group());
}
sdav 2010-05-11
  • 打赏
  • 举报
回复
Up

各位老大,是Java程序哦.俺Java新学,各位请帮帮忙.

81,092

社区成员

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

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