Как я могу исправить этот результат с помощью регулярных выражений Java? - PullRequest
0 голосов
/ 12 ноября 2011

У меня есть такая строка:

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

с Java Regex, я хочу показать это:

EQ=ENABLED,QLPUB=50,EPRE=ENABLED

Я написал это как Regex:

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

но это не показывает мне правильно, почему? спасибо

Спасибо за вашу помощь ...

1 Ответ

1 голос
/ 12 ноября 2011

$ в конце означает, что он будет соответствовать только концу строки. Вы просто хотите остановить совпадение в конце, не требуя, чтобы было концом ввода. Попробуйте просто:

^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());
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...