怎么用正则来提取内容?马上给分 怎么用正则来提取内容?马上给分String str = “ffafd&#test1;afafdi&#test2;&#test3;1344343....”怎么把test1 ,test2,test3 (就是&#和;之间的内容?)给提取出来,然后放到数组里面啊? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 string s=regex.replace(str,"&#[^;]*","$");string[] ss=s.split('$') to :tgl10(天狗螺) 谢谢! 如果是 String str = “ffafd&#test1;afafdi&#test2;&#test3;†ჷ....”只提取test1,2,3的话上面的是不是也可以阿? 我上面的写错了!!!!!!!!!!!!!!!!!!!!!!!!string[1024] ss; //合适大小int i=0;foreach(match in regex.matchs(str,"&#[^;]*")){ss[i++]=match.value;} "&#[^;]*" 就是匹配&#和最近的;之间的内容 public class RegTest{ /** * @param args */ public static void main(String[] args) { java.util.regex.Pattern p=java.util.regex.Pattern.compile("&#([^&]*);"); java.util.regex.Matcher m=p.matcher("ffafd&#test1;afafdi&#test2;&#test3;1344343"); java.util.List list=new java.util.ArrayList(); while(m.find()) { System.out.println(m.group(1)); list.add(m.group(1)); } Object[] s=list.toArray(); for(int i=0;i<s.length;i++) System.out.println(s[i]); }} 或者改为:public class RegTest{ /** * @param args */ public static void main(String[] args) { java.util.regex.Pattern p=java.util.regex.Pattern.compile("&#([^;]*);"); java.util.regex.Matcher m=p.matcher("ffafd&#test1;afafdi&#test2;&#test3;1344343"); java.util.List list=new java.util.ArrayList(); while(m.find()) { System.out.println(m.group(1)); list.add(m.group(1)); } Object[] s=list.toArray(); for(int i=0;i<s.length;i++) System.out.println(s[i]); }}这样更合理一些 老大你说明一下("&#([^&]*);")的意思,分马上给 看字符串中是否包含&、#、(、[、^、;、]、*、)、字符; ("&#([^&]*);")表示的是:以“&#”开头以“;”结尾,中间包含任意多个字符(这些字符中不能包含“&”)同理("&#([^;]*);")也是一样。程序中的group(1)指的就是“[^&]*”内容。这些在jdk的API文档中的java.util.regex.Pattern中都有说明!可以自己查看一下详细的说明。 jsp 自动跳转 struts2 标签 jsp servlet javabean 实现MVC 奇怪问题.苦恼了许久:有知道问题原因的大虾帮帮忙! 求ie6下面的javascript调试工具 在线等!谁能告诉我为什么? 在 JSP 中实现下载时出现乱码! jsp页面过期问题 在线等 没钱提问了,大哥们将就一下,来看看我的JAVA出错。:) 关于jsp与servlet的简单问题! 帮忙啊,有多少分就给多少 一下小的Hibernate应用问题? 看看我的系统,大家提提有什么不足或是建议,有需求的可以合作!!
string[] ss=s.split('$')
如果是 String str = “ffafd&#test1;afafdi&#test2;&#test3;†ჷ....”
只提取test1,2,3的话上面的是不是也可以阿?
string[1024] ss; //合适大小
int i=0;foreach(match in regex.matchs(str,"&#[^;]*")){
ss[i++]=match.value;
}
{
/**
* @param args
*/
public static void main(String[] args)
{
java.util.regex.Pattern p=java.util.regex.Pattern.compile("&#([^&]*);");
java.util.regex.Matcher m=p.matcher("ffafd&#test1;afafdi&#test2;&#test3;1344343");
java.util.List list=new java.util.ArrayList();
while(m.find())
{
System.out.println(m.group(1));
list.add(m.group(1));
}
Object[] s=list.toArray();
for(int i=0;i<s.length;i++)
System.out.println(s[i]);
}
}
public class RegTest
{
/**
* @param args
*/
public static void main(String[] args)
{
java.util.regex.Pattern p=java.util.regex.Pattern.compile("&#([^;]*);");
java.util.regex.Matcher m=p.matcher("ffafd&#test1;afafdi&#test2;&#test3;1344343");
java.util.List list=new java.util.ArrayList();
while(m.find())
{
System.out.println(m.group(1));
list.add(m.group(1));
}
Object[] s=list.toArray();
for(int i=0;i<s.length;i++)
System.out.println(s[i]);
}
}这样更合理一些
这些在jdk的API文档中的java.util.regex.Pattern中都有说明!可以自己查看一下详细的说明。