регулярный поиск по поиску патерна - PullRequest
0 голосов
/ 28 апреля 2020

Итак, давайте представим, что у вас есть строка, которая повторяется, как, например, вложенное выражение Dynami c SQL, и вы хотите сказать, проверять наличие дубликатов полей в шаблоне .... Я не могу получить регулярное выражение для этого. Любая помощь будет отличной. Лучшее, что у меня есть, - это выбрать

Строка поиска, чтобы найти дубликаты, для которых вам нужны все дубликаты, кроме первого. Лучшее, что я получил, - это выбрать строку, которую нужно найти ... если бы вы могли найти строку x в указанной строке, у вас был бы шаблон, необходимый для удаления всех дубликатов.

простой образец ищет дубликаты 3:

aaa 1 2 3 3 3 4 5 6 7 bbb xxxxxxxxxxxxxxx aaa 44 5 3 5 6 7 3 4 5 7 99 bbb

выбрано:

aaa 1 2 3 3 3 4 5 6 7 bbb xxxxxxxxxxxxxxx aaa 44 5 3 5 6 7 3 4 5 7 99 bbb

результат:

aaa 1 2 3 4 5 6 7 bbb xxxxxxxxxxxxxxx aaa 44 5 3 5 6 7 4 5 7 99 bbb

Java скрипт ограничен:

Это полный пример. https://regex101.com/r/2nXrec/1

мое лучшее регулярное выражение:

/(?<=m\.provider_name,)([^]+?)(?=from)/gi

Другие подходящие регулярные выражения:

(^ \ s *? M.provider_name, ) ((\ s *? m. [A-Za-z _] ,) {0,}) (\ s ? m.provider_name,) /(?<=select.<em>?) (? <= имя_поставщика,. </em>?) (имя_поставщика,) (? =. *? from) / gi

пример строки:

select
    m.provider_name as groupedby,
    m.profile_name,
    m.profile_key,
    m.provider_name,
    m.provider_name,
    m.provider_id,
    m.customer_key,
    round(m.scm_best,2) as best,
    round(m.scm_worst,2) as worst,
    round(m.scm_average,2) as average,
    round(p_m.scm_best,2) as profile_best,
    round(p_m.scm_worst,2) as profile_worst
from
    select
        m.provider_name, m.profile_name, m.profile_key, m.job_id, m.job_description, m.provider_name, m.provider_id, m.customer_key,
        count(m.session_key) as session_count,

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