2 czw2010 czw2010 于 2016.03.07 17:04 提问

关于java正则表达式问题

有个字符串是这样的:data[1223][HOST_NAME],我需要匹配格式是否是data[xxx][xxx],然后提取出xxx的值,请问正则要怎么写?

//我自己写的这样的,返回的是false
String s = "data[1223][HOST_NAME]";
Pattern pattern = Pattern.compile("^data\\[\\W\\]*");
Matcher matcher =pattern.matcher(s);
boolean b= matcher.matches();
System.out.println(b);

4个回答

danielinbiti
danielinbiti   Ds   Rxr 2016.03.07 17:12
 String s = "data[1223][HOST_NAME]";
        Pattern pattern = Pattern.compile("\\[([^\\]]+)\\]");
        Matcher matcher =pattern.matcher(s);
        while (matcher.find()) {
            System.out.println(matcher.group(1));
        }
czw2010
czw2010   2016.03.07 17:16

楼上不行,还是返回false

WinsenJiansbomber
WinsenJiansbomber   2016.03.07 17:39

"data\[(\d+\]\[.+\]"

fateflv
fateflv   2016.03.26 17:57

正则表达式主体:

 ^data\[.*?\]\[.*?\]

java正则字符串:

 ^data\\[(.*?)\\]\\[(.*?)\\]

java代码:

/*
* @author   fateflv
* @version  1.0
* @since    2016-03-26
* @site     http://my.csdn.net/fateflv
*/

import java.util.regex.*;

public class reg2 {
    public static void main(String[]agrs)
    {

        String s = "data[1223][HOST_NAME]";
        Pattern pattern = Pattern.compile("^data\\[(.*?)\\]\\[(.*?)\\]");
        Matcher matcher =pattern.matcher(s);
        boolean b= matcher.matches();
        System.out.println(b); 
        System.out.println("第1个: "+matcher.group(1));
        System.out.println("第2个: "+matcher.group(2));
    }
}

示例效果图:
图片说明

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
关于JAVA正则表达式的详细描述
关于JAVA正则表达式的详细描述!关于JAVA正则表达式的详细描述!关于JAVA正则表达式的详细描述!
关于正则表达式的一道面试题
这里写代码片import java.util.Arrays;public class ip_test { /** * "172.25.27.1 3.25.118.32 105.38.225.12" * 对上面字符串把ip地址切割出来进行排序 * */ public static void main(String[] args) {
JAAV正则表达式
java正则表达式、java正则表达式、java正则表达式、java正则表达式、java正则表达式、java正则表达式、java正则表达式、java正则表达式、java正则表达式、java正则表达式、
JAVA正则表达式练习题(IP地址排序、检验email地址)
1、需求: 将“我我我、、、我我、、我要、我要要、、、要要要、、要要、、学学学、、、、学学编、、、学编编编、、编编编程、、程程”还原成:我要学编程public class RegexTest1 { public static void main(String[] args) { String temp = "我我我、、、我我、、我要、要要、、、要要要、、要要、、学学学、、、、
Java正则表达式Java正则表达式
Java正则表达式Java正则表达式Java正则表达式Java正则表达式Java正则表达式Java正则表达式
java正则表达式java正则表达式java正则表达式
java正则表达式java正则表达式java正则表达式java正则表达式java正则表达式java正则表达式
Java正则表达式
Java正则表达式 Java正则表达式 Java正则表达式 Java正则表达式 Java正则表达式
Java正则表达式的使用实例
Java正则表达式的使用实例Java正则表达式的使用实例;关于url、电话等字符串的判断
一个简单的Java屏蔽非法字符代码
关于Java正则表达式简单的非法字符屏蔽代码
java正则表达式PPT
java正则表达式 java正则表达式 java正则表达式 java正则表达式 java正则表达式