Я хочу обработать строку, в которой я хочу найти несколько строк, я пытаюсь создать подсветку в HTML-тексте в Java.
Пример:
Найти и обработать фразы table, row, primary key
в Each table row contains a primary key column
Текст представляет собой HTML-текст с тегами, такими как <b>,<img..>...
, если в середине фразы для ex.primary <b>key</b>
(игнорируемый тег - это тег, который не прерывает текст, означающий, например, <b>
или <i>
, с другой стороны, тег, такой как <div>
, прерывает текстовое значение) фразу можно заменить.
, если одинФраза является подфраза другой фразы, тем дольше имеет более высокий приоритет.напримерища table row
и row contains
в упомянутом тексте, второй должен быть обработан
Мой первый псевдокод был примерно таким:
for (each phrase)
while(tex.hasNext(phrase)) do
processPhraseInText(text,phrase)
end-while
end-for
Он работал, но текст былtrarased phrases.count (), и я ищу более быстрый способ обработки всех фраз одновременно
Я хочу попробовать использовать регулярные выражения и сопоставление с образцом для использования в этом.
Я придумалдвумя способами: 1. создать одно регулярное выражение для всех фраз, выглядящих примерно так: regex1|regex2|..|regexN
или 2. для создания для каждой фразы одного регулярного выражения (и одного объекта Matcher)
что может быть лучше?или есть какой-то совершенно другой способ или существующая библиотека для этого?разве второй способ со многими совпадениями такой же, как и у моего решения?