首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

求java正则婚配!在线急等!

2013-09-05 
求java正则匹配!!!!!在线急等!!!/** * 例子写的不好,仅供参考 * 取taskid:与stat:之间的数字,例子中结果为

求java正则匹配!!!!!在线急等!!!
   


     /**
 * 例子写的不好,仅供参考
 * 取taskid:与stat:之间的数字,例子中结果为:12345
 * 取stat:与yj:之间的数字,例子中结果为:3
 * 取yj:之后的所有字符       例子中结果为:同意,很好。
 */
public static void test(){
String str = "你好taskid:12345,,stat:3;yj:同意,很好。";  
Pattern pattern = Pattern.compile("taskid:(.+?)stat:"); //标点怎么去掉
Matcher matcher = pattern.matcher(str);
if(matcher.find())
  System.out.println(matcher.group(1));
}
正则 java
[解决办法]

public static void main(String[] args){
     /**
     * 例子写的不好,仅供参考
     * 取taskid:与stat:之间的数字,例子中结果为:12345
     * 取stat:与yj:之间的数字,例子中结果为:3
     * 取yj:之后的所有字符       例子中结果为:同意,很好。
     */
        String str = "你好taskid:12345,,stat:3;yj:同意,很好。";  
        Pattern pattern = Pattern.compile("taskid:(.+?)stat:"); //标点怎么去掉
        Pattern pattern1 = Pattern.compile("taskid:(\\d+)[^s]+stat:");
        Pattern pattern2 = Pattern.compile("stat:(\\d+)[^y]+yj:");
        Pattern pattern3 = Pattern.compile("yj:(.+)");
        Matcher matcher1 = pattern1.matcher(str);
        Matcher matcher2 = pattern2.matcher(str);
        Matcher matcher3 = pattern3.matcher(str);
        if(matcher1.find())
          System.out.println(matcher1.group(1));
        if(matcher2.find())


            System.out.println(matcher2.group(1));
        if(matcher3.find())
            System.out.println(matcher3.group(1));
}


输出
12345
3
同意,很好。
[解决办法]
public static void main(String[] args) {

String str = "你好taskid:12345,,stat:3;yj:同意,很好。";
Pattern pattern = Pattern
.compile("taskid:(\\d*).*stat:(\\d*).*yj:(.*)"); 
Matcher matcher = pattern.matcher(str);
if (matcher.find())
System.out.println(matcher.group(1));
System.out.println(matcher.group(2));
System.out.println(matcher.group(3));
}

[解决办法]
string reg = "taskid:(\\d*).*stat:(\\d*).*yj:(.*)"
[解决办法]

(\w+):(\d+)
[解决办法]
yj:(.*)

[解决办法]

/**
 * @author XXX
 * @date Aug 30, 2013 10:13:34 AM<BR/>
 * @param args
 */
public static void main(String[] args) {
String str = "你好taskid:12345,,stat:3;yj:同意,很好。";
Pattern pattern = Pattern.compile("(\\w+):(\\d+)
[解决办法]
yj:(.*)", Pattern.DOTALL);
Matcher matcher = pattern.matcher(str);
while(matcher.find()){
if(matcher.group(3) != null){
System.out.println("yj=" + matcher.group(3));
}else{
System.out.println(matcher.group(1) + "=" + matcher.group(2));
}
}
}

[解决办法]
我想楼主的意思应该输入开始和结束字段,截取中间的,需要的是一个式子而不是多个吧。
截取字符串这个很简单,但是楼主关于去掉符号说明的并不清楚,
我暂时的理解就是截取出来的字符串,
如果开头和结尾为符号则去掉,中间的符号则保留。对么?
如果那样的话
regex=".*?开始字段c([\\w
[解决办法]
\u4E00-\u9FA5].*?[\\w
[解决办法]
\u4E00-\u9FA5]).*?结束字段.*?";
[\\w
------解决方案--------------------


\u4E00-\u9FA5]//匹配所有英文字母和数字以及所有汉字包括繁体。
这样么?
如果差不多这样的回一下,我再精简下。。。
[解决办法]
我第一次回答问题,希望给我信心
\p{Punct} 标点符号:!"#$%&'()*+,-./:;<=>?@[\]^_`{
[解决办法]
}~

 public static void main(String[] args) {
        String str = "你好taskid:12345,,stat:3;yj:同意,很好。";
        Pattern pattern = Pattern.compile("taskid:(\\d+).+stat:(\\d+).+:(.+)");
        Matcher matcher = pattern.matcher(str);
        if (matcher.find()) {
            System.out.println(matcher.group(1));
            System.out.println(matcher.group(2));
            System.out.println(matcher.group(3));
        }
    }

热点排行
Bad Request.