如何使用java正则表达式修复此结果?

时间:2011-11-12 07:47:15

标签: java regex

我有这样一句话:

EQ=ENABLED,QLPUB=50,EPRE=ENABLED,T200=44-31-41-90-90-90-135

使用java Regex,我想展示一下:

EQ=ENABLED,QLPUB=50,EPRE=ENABLED

我把它写成正则表达式:

^EQ=ENABLED,QLPUB=[^,]*,EPRE=ENABLED$

但它没有正确地告诉我,为什么?感谢

感谢您的帮助......

1 个答案:

答案 0 :(得分:1)

最后的$表示它只匹配字符串的结尾。您只想在结尾处停止匹配,而不是要求 输入的结尾。试试吧:

^EQ=ENABLED,QLPUB=[^,]*,EPRE=ENABLED

示例代码:

import java.util.regex.*;

public class Test
{
    public static void main(String[] args)
    {
        String text = "EQ=ENABLED,QLPUB=50,EPRE=ENABLED,T200=44-31-41-90-90-90-135";
        Pattern pattern = Pattern.compile("^EQ=ENABLED,QLPUB=[^,]*,EPRE=ENABLED");
        Matcher matcher = pattern.matcher(text);
        if (matcher.lookingAt())
        {
            System.out.println(matcher.group());
        }
    }
}