Как вернуть более одного совпадения с регулярным выражением

#regex #string #multiple-matches #fme

#регулярное выражение #строка #множественные совпадения #fme

Вопрос:

Привет, в настоящее время я пытаюсь использовать regex (в FME, используя StringSearcher) для сопоставления и возврата каждого экземпляра, где есть хэштег, и следующих за ним 5 символов.

например, «#29777 близок к #19666, а также убедитесь, что # 12345 есть»

вернет: «#29777 #19666 #12345»

В настоящее время у меня есть это как мое регулярное выражение, которое работает, но я не уверен, как получить более одного возврата:

 (?<=#).{5}
  

Любая помощь была бы высоко оценена,

Спасибо

Комментарии:

1. Что не так с вашим регулярным выражением? Кажется, оно возвращает нужные вам цифры.

2. Какой язык / инструмент вы используете?

3. Почему вы используете просмотр назад, если хотите выбрать # ?

4. Смотрите Документы StringSearcher , в частности раздел, описывающий все названия списка совпадений .

Ответ №1:

Если вы хотите сопоставить хэштеги только с 5 символами, вы можете попробовать этот шаблон:

 #.{5}[s]|#.{5}$
  

Ответ №2:

Мне удалось заставить это работать, используя регулярное выражение от Карла Кристенсена и предложение booboo. Код по-прежнему возвращал только первое совпадение, но, заполнив поле all matches и используя list exploder в FME, я смог получить все совпадения.

Еще раз спасибо за всю вашу помощь 🙂