Поиск шаблонов строк в тексте - PullRequest
2 голосов
/ 24 марта 2012

Я пытаюсь написать программу на Java, которая ищет шаблоны строк внутри текстового файла. Рассмотрим следующий текст, взятый из романа:

Она была очень классной женщиной, подумал он. Затем она сказала: «Привет, меня зовут Лорен. Как твое?»

Я бы хотел найти способ найти любое вхождение этой последовательности слов: HELLO, любая строка, NAME (взято из списка), чтобы из приведенного выше примера я получил (выделено жирным шрифтом):

Она была очень классной женщиной, подумал он. Затем она сказала: « Привет, меня зовут Лорен . Что твое?»

Сначала я подумал об использовании регулярных выражений, а затем подумал о написании синтаксического анализатора (возможно, сгенерированного JFlex или ANTRL).

Кто-нибудь знает о более простом и, как мы надеемся, быстрее кодируемом решении?

Ответы [ 3 ]

2 голосов
/ 24 марта 2012

Я думаю, что Регулярное выражение, использующее класс Pattern , является вашей лучшей ставкой, если вы просто пытаетесь найти HELLO (без учета регистра), любую строку, Имя (взято из списка).

Посмотрите на онлайн-оценщик RegEx, чтобы построить свое выражение (например, http://www.regular -expressions.info / javascriptexample.html ). Создание выражения займет у вас немного времени, но как только вы это сделаете, вы получите краткий способ выражения шаблона поиска строк.

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

Вы можете попробовать stanford POS tagger , чтобы пометить части предложений, а затем получить эти предложения с критериями, которые вы ищете.

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

Попробуйте Lucene , поисковая система Java. Вам нужно что-то, что будет понимать н-граммы.

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