Итак, давайте представим, что у вас есть строка, которая повторяется, как, например, вложенное выражение 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