String content="<br>{Es_kk}<br>{Es_bb}<br>";
Pattern quotePattern=Pattern.compile("\\{Es_\\S*}");
Matcher quoteMatch=quotePattern.matcher(content);
上面的程序是用正则表达式取出"{Es_kk}<br>{Es_bb}";
但是
我现在打算分别取出"{Es_kk}"和"{Es_bb}"的内容,看一下上面的正则表达式怎么修改
Pattern quotePattern=Pattern.compile("\\{Es_\\S*}");
Matcher quoteMatch=quotePattern.matcher(content);
上面的程序是用正则表达式取出"{Es_kk}<br>{Es_bb}";
但是
我现在打算分别取出"{Es_kk}"和"{Es_bb}"的内容,看一下上面的正则表达式怎么修改
解决方案 »
- jsp页面传值取值问题,急!(在线等)
- 过滤器配置web.xml怎么过滤全部servlet
- 关于Java电子邮件,急
- 时间格式与字符串的 转换
- JSP调用SERVLET 问题。反复调试了很长时间,不得其解
- int uid=123 ,怎么得到uid这个变量名,而不是他的值
- 关于Servlet的问题,众位大哥帮帮忙
- 帮忙看一下从oracle中显示图片的程序(分已经破产了..)
- 谁有用JSP做系统的源代码,我想参考一下。解决了我给300分!!
- Struts的一个简单问题!
- JAVA中如何使用listener来处理事件event?让一个JAVA程序来监听数据库变化
- 为什么在调用<%@ include file="2.jsp"%>文件中要用到相同的Bean,就会出错呢?
String content="<br>{Es_kk}<br>{Es_bb}<br>";
Pattern quotePattern=Pattern.compile("(\\{Es_[^}]*})<br>(\\{Es_[^}]*})<br>");
Matcher quoteMatch=quotePattern.matcher(content);
quoteMatch.find();
for(int i=1;i<=quoteMatch.groupCount();i++)
System.out.println(quoteMatch.group(i));
Pattern quotePattern=Pattern.compile("(\\{Es_[^}]*})<br>(\\{Es_[^}]*})<br>");
Matcher quoteMatch=quotePattern.matcher(content);
if(quoteMatch.find())
{
for(int i=1;i<=quoteMatch.groupCount();i++)
System.out.println(quoteMatch.group(i));
}
区别在于在 "*" 后有一个 "?",称为 "非贪婪模式",搂主可参阅文章:
http://www.regexlab.com/zh/regref.htm