Как найти 2-кратную строку в строке, используя Java Pattern и Matcher? - PullRequest
0 голосов
/ 10 ноября 2010

Например, я хочу найти строку, содержащую приведенную ниже строку.

<a href="http://www.abc.com/Cool">Cool</a>

"Cool" может быть любой строкой, но она должна совпадать в этих двух местах.

Какиспользовать Pattern и Matcher для достижения этой цели?Спасибо!

Ответы [ 2 ]

5 голосов
/ 10 ноября 2010
<a href="http://www\.abc\.com/([^"]*)">\1</a>

соответствует строке, как указано. Итак, на Java:

Pattern regex = Pattern.compile("<a href=\"http://www\\.abc\\.com/([^\"]*)\">\\1</a>");
Matcher regexMatcher = regex.matcher(subjectString);
foundMatch = regexMatcher.find();
0 голосов
/ 10 ноября 2010

Пробовали ли вы еще простой подход, такой как составление списка всех уникальных слов, а затем просмотр каждого слова, проверка количества вхождений в исходной строке?Простое регулярное выражение \ b \ w + \ b соответствует словам.

Вот статья , объясняющая, как сопоставлять последовательные повторяющиеся слова.Вы должны быть в состоянии легко адаптировать это к вашим потребностям.

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