регулярное выражение получить предложения, которые заканчиваются знаком вопроса - PullRequest
1 голос
/ 14 марта 2012

Я получил большой файл со всей своей электронной почтой за последние 5 лет. Я хотел бы вернуть все мои предложения, которые имеют знак вопроса. Я не очень хорошо разбираюсь в regex, я просто немного знаю, что можно сделать.

Может ли кто-нибудь дать мне регулярное выражение, которое будет работать? (Java)

Если это возможно, я хотел бы вернуть жирный шрифт в следующем примере:

Lorem Ipsum Dolor Sit Amet, Concetetur Adipiscing Elit. Сед амет элементум. Integer nec diam erat, eu consectetur nibh? Cum sociis natoque penatibus et magnis dis parturient montes.

Ответы [ 2 ]

5 голосов
/ 14 марта 2012

Попробуйте этот код:

    String str = "Lorem ipsum dolor sit amet, consectetur adipiscing elit."
            + "My second question? Sed amet elementum."
            + "Integer nec diam erat, eu consectetur nibh?"
            + "Cum sociis natoque penatibus et magnis dis parturient montes.";
    Pattern pattern = Pattern.compile("([^.?!]*)\\?");
    Matcher matcher = pattern.matcher(str);
    while(matcher.find())
    {
        System.out.println(matcher.group());
    }

Он выводит:

My second question?
Integer nec diam erat, eu consectetur nibh?

Здесь я определяю предложение, заканчивающееся на ., ! или ?, но вы можете расширить этосписок легко.

0 голосов
/ 14 марта 2012

Вы можете использовать выражение вроде: [^.!?]+\?

Это соответствует как минимум желаемому тексту в вашем примере.

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