Я обычно делал бы что-то подобное, используя строку libray. Но мне интересно, можно ли это сделать с помощью регулярного выражения.
Я хочу сделать следующее: Учитывая строку поиска :
Сиэтл великолепен
Я хочу найти все его подстроки в данном предложении. Итак, примените регулярное выражение к следующему предложению
Сиэтл - это здорово, здорово, здорово, Сиэтл
Должно дать мне
Сиэтл, Сиэтл потрясающий, это потрясающий, потрясающий, это Сиэтл
Один ограничение, которое может быть полезным, состоит в том, что в предложении всегда будут только слова, присутствующие в строке поиска, и пробелы между ними.
Примечание Если есть совпадение, это должна быть самая длинная строка из возможных. Как и в приведенном выше примере, совпадения не должны быть отдельными словами, а должны быть максимально длинными подстроками. Также необходимо поддерживать порядок между словами. Вот почему
awesome is Seattle
в приведенном выше предложении дает нам
awesome, is и Seattle
. Я не уверен, можно ли сделать что-то подобное с помощью регулярного выражения, хотя оно является жадным. Буду признателен за любое понимание этого! Я знаком как с C #, так и с Java и могу использовать любую из их библиотек регулярных выражений.