Java и RegEx .. как подать заявку - PullRequest
0 голосов
/ 20 января 2011

Я пытаюсь сделать следующее:

            Scanner scanner = new Scanner(file);
            StringBuilder sb = new StringBuilder();
            while (scanner.hasNextLine()) {
                sb.append(scanner.nextLine() + "\n");
            }

            String data = sb.toString();

            Pattern p = Pattern.compile("\b[ABD-Z]*C[ABD-Z]*\b");
            Matcher m = p.matcher(data);

            String a = m.group();

Как получить доступ к результатам m?Почему мой RegEx не работает?

Я уже пытался избежать обратной косой черты.

Он работает на http://www.gskinner.com/RegExr/, но я не могу получить какой-либо вывод из Java.

Пожалуйста, помогите≥ ..спасибо.

Ответы [ 3 ]

1 голос
/ 20 января 2011

Вам нужно использовать \\b вместо \b, так как последний является обратным пробелом и вызывать m.find(), если вы пытаетесь сопоставить подстроку, или m.match(), чтобы сопоставить всю строку перед вызовом group().

1 голос
/ 20 января 2011

Вы должны использовать m.find () или m.match (), скорее всего, в цикле while.

while (m.find()) {
 do something with m.group()
}
1 голос
/ 20 января 2011

да, вы должны избежать обратной косой черты, чтобы иметь правильную строку Java

Вы должны позвонить m.find() до m.group()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...