求教一正则表达式 xx“aa”bb“cc”yy 取出aa ccxx“aa“bb”cc”yy 取出aa“bb”cc 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public static void main(String args[]) { String regex = "(?<=“).*(?=”)";//你给的例子里双引号是全角,如果是半角刚regex = "(?<=\").*(?=\")"; Pattern p = Pattern.compile(regex); String str = "xx“aa“bb”cc”yy "; Matcher m = p.matcher(str); while(m.find()) { System.out.println(m.group()); } } aa“bb”cc String str = "xx“aa“bb”cc”yy ";System.out.println(str.replaceAll("xx(.*)yy","$1")); xx“aa “dd””bb“cc”yy 取出aa “dd” cc public static void main(String args[]) { String regex = "(?<=“)([^“”]*|[^“”]*“.*”[^“”]*)(?=”)";//你给的例子里双引号是全角,如果是半角则用\"替换“和”; Pattern p = Pattern.compile(regex); String str = "xx“aa“bb”cc”yy "; //str = "xx“aa”bb“cc”yy"; Matcher m = p.matcher(str); while(m.find()) { System.out.println(m.group()); } } \输出:aa“bb”cc如果str = xx“aa”bb“cc”yy则输出:aacc 不对String str="xx“aa”bb“cc”yy"; 这个我要的是 aa 和cc 同样适用不过不是aa “dd” cc而是:aa “dd”cc 这个还有点缺陷 我有个字符串需要处理 但是不处理引号括起来的比如str = "xx“aabb“cc”ee“cc”yy"; 我想取出来的是aabb“cc和ccstr = "xx“aabb“cc“ee“cc”yy"; 我想取出来的是aabb“cc“ee“ccstr = "xx“aabb“cc”ee”cc”yy"; 我想取出来的是aabb“cc”ee”cc有个难点就是有时需要匹配长的有时需要匹配短的 str = "xx“aabb“cc“ee“cc”yy"; 像这里面的引号都不成对出现.你给出的都是个别例子,并没有说规则,我也无能为力了 这个规则很明显啊 但是不好表达xx“aa”bb“cc”yy 取出aa和cc xx“aa“bb”cc”yy 取出aa“bb”ccxx“aa“bb”“cc”yy 取出aa“bb和cc 因为把cc取出来后“aa“bb”这里还是可以找出一对引号的xx“aa“bb““cc”yy 只能取出aa“bb““cc 因为单独把cc拿出来后“aa“bb“这个不成对了可以肯定的是起始是上引号“ 结束是下引号” 中间可以是任意字符包括引号 所以要根据里面的引号情况去匹配 其实规则就是我上面说的目的 有个字符串要处理 双引号括起来的内容不处理 我真的没法表达出这个规则 不但要引号括起来的内容不处理而且这个引号还要去掉比如xx“aa”bb“cc”yy要处理xx bb yy这3串 最后是xxaabbccyyxx“aa“bb”cc”yy 处理完xx yy之后变成xxaa“bb”ccyy String regex = "((“[^“”]+)+”(([^“”]+”)+)?)"; Pattern p = Pattern.compile(regex); String str = "xx“aa“bb”cc”yy "; str = "xx“aa”bb“cc”yy"; //str="xx“aabb“cc”ee“cc”yy"; 我想取出来的是aabb“cc和cc //str="xx“aabb“cc“ee“cc”yy"; 我想取出来的是aabb“cc“ee“cc //str="xx“aabb“cc”ee”cc”yy"; 我想取出来的是aabb“cc”ee”cc Matcher m = p.matcher(str); while(m.find()) { System.out.println(m.group()); } Quartz Trigger 触发问题 希望哪位前辈能指点一下 如何将数据生成XML发送给JBOSS 这个程序里面为什么要用静态常量? ? 有人了解SNMP么?有用java开发过的人么? 进来看看谢谢! java与sql的连接问题 【求复利计算】 About JBuilder4 请问怎么自动识别字段的名称 关于ToolTip 关于一个去掉相同值的算法题(要求高效率)
public static void main(String args[]) {
String regex = "(?<=“).*(?=”)";//你给的例子里双引号是全角,如果是半角刚regex = "(?<=\").*(?=\")";
Pattern p = Pattern.compile(regex);
String str = "xx“aa“bb”cc”yy ";
Matcher m = p.matcher(str);
while(m.find()) {
System.out.println(m.group());
}
}
aa“bb”cc
String str = "xx“aa“bb”cc”yy ";
System.out.println(str.replaceAll("xx(.*)yy","$1"));
public static void main(String args[]) {
String regex = "(?<=“)([^“”]*|[^“”]*“.*”[^“”]*)(?=”)";//你给的例子里双引号是全角,如果是半角则用\"替换“和”;
Pattern p = Pattern.compile(regex);
String str = "xx“aa“bb”cc”yy ";
//str = "xx“aa”bb“cc”yy";
Matcher m = p.matcher(str);
while(m.find()) {
System.out.println(m.group());
}
}
\
输出:aa“bb”cc
如果str = xx“aa”bb“cc”yy
则输出:
aa
cc
String str="xx“aa”bb“cc”yy"; 这个我要的是 aa 和cc
不过不是aa “dd” cc
而是:
aa “dd”
cc
这个还有点缺陷 我有个字符串需要处理 但是不处理引号括起来的
比如
str = "xx“aabb“cc”ee“cc”yy"; 我想取出来的是aabb“cc和cc
str = "xx“aabb“cc“ee“cc”yy"; 我想取出来的是aabb“cc“ee“cc
str = "xx“aabb“cc”ee”cc”yy"; 我想取出来的是aabb“cc”ee”cc
有个难点就是有时需要匹配长的有时需要匹配短的
你给出的都是个别例子,并没有说规则,我也无能为力了
xx“aa”bb“cc”yy 取出aa和cc
xx“aa“bb”cc”yy 取出aa“bb”cc
xx“aa“bb”“cc”yy 取出aa“bb和cc 因为把cc取出来后“aa“bb”这里还是可以找出一对引号的
xx“aa“bb““cc”yy 只能取出aa“bb““cc 因为单独把cc拿出来后“aa“bb“这个不成对了可以肯定的是起始是上引号“ 结束是下引号” 中间可以是任意字符包括引号 所以要根据里面的引号情况去匹配 其实规则就是我上面说的目的 有个字符串要处理 双引号括起来的内容不处理 我真的没法表达出这个规则
比如
xx“aa”bb“cc”yy要处理xx bb yy这3串 最后是xxaabbccyy
xx“aa“bb”cc”yy 处理完xx yy之后变成xxaa“bb”ccyy
Pattern p = Pattern.compile(regex);
String str = "xx“aa“bb”cc”yy ";
str = "xx“aa”bb“cc”yy";
//str="xx“aabb“cc”ee“cc”yy"; 我想取出来的是aabb“cc和cc
//str="xx“aabb“cc“ee“cc”yy"; 我想取出来的是aabb“cc“ee“cc
//str="xx“aabb“cc”ee”cc”yy"; 我想取出来的是aabb“cc”ee”cc
Matcher m = p.matcher(str);
while(m.find()) {
System.out.println(m.group());
}