我有这样一句话:
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$
但它没有正确地告诉我,为什么?感谢
感谢您的帮助......
答案 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());
}
}
}