import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "\\??(\n"
+ "((action_)((object)|(type)|(ref))(_map))|\n"
+ "(spm)|(scm(\\-|_)(.*?))|(aff_)(.*?)|(algo_)(.*?)|(btsid)|(ws_)(.*?)|\n"
+ "(pd_rd_)(.*?)|(_encoding)|(psc)|(tag)|(ref_)|(pf)|(pf_rd_)(.*?)|\n"
+ "(callback)|\n"
+ "(cvid)|(form)|(sk)|(sp)|(qs)|(pq)|\n"
+ "(mkt_tok)|\n"
+ "(trk(Campaign)?)|\n"
+ "(ga_)(.*?)|(gclid)|(gclsrc)|\n"
+ "(hmb_)((campaign)|(medium)|(source))|\n"
+ "((sp)((Report)|(Job)|(User)|(Mailing))(ID))|\n"
+ "(itm_)(.*?)|\n"
+ "(s_cid)|\n"
+ "(elq((Track)?Id)?)|(elqTrack)|(assetType)|(assetId)|(recipientId)|(ŃampaignId)|(siteId)|\n"
+ "(mc_(c|e)id)|\n"
+ "(pk_)(.*?)|\n"
+ "(sc_)(.*?)|\n"
+ "(utm_)(.*?)|(nr_email_referer)|\n"
+ "(vero_(.*?))|\n"
+ "(nr_)(.*?)|\n"
+ "(yclid)|(_openstat)|(lr)|(redircnt)|\n"
+ "(mbid)|(cmpid)|(cid)|(c_id)|(campaign_id)|(Campaign)|\n"
+ "(fb_)(.*?)|(fbclid)|(f?ref)|(refsrc)|(hrc)|\n"
+ "(gw?s_)(.*?)|(ved)|(s?ei)|\n"
+ "(_hsenc)|(_hsmi)|(__hssc)|(__hstc)|(hsCtaTracking)|\n"
+ "(source)|(position)|\n"
+ "(tt_)(.*?)|\n"
+ "(wt_)(.*?)|\n"
+ "(hc)|(fb)|(yc)|(fan)|(asb)|(asb2)|(mindbox)|(from)|(sh)|(keywords?)|(feature)|(mlid)|(stid)|(topnews_)(.*?)|(persistent_)(.*?)|(msid)|(rubric)|(lang)|(t?t=)(.*?)|(d)|(s)|(psf)|(sourceType)|(short)|(pdp_ext_f)|(utparam)|(pvid))(=(.*?)|(?=(&|$|\\r|\\n|\")))(?=(&|$|\\r|\"|\\n))";
final String string = "https://yandex.ru/news/story/Prezident_Tokaev_prinyal_otstavku_pravitelstva_Kazakhstana--243e04d37f1419500c9ece814c1d9e30?lang=ru&rubric=index&fan=1&stid=byyvfKwXr5iSKBBZZOVN&t=1641352850&tt=true&persistent_id=176465644&\n\n"
+ "https://www.aliexpress.com/item/4000317035065.html?pdp_ext_f=%7B%22ship_from%22%3A%22CN%22%2C%22sku_id%22%3A%2212000018551624449%22%7D&sourceType=fd&scm_id=1007.28480.226530.0&scm-url=1007.28480.226530.0&pvid=4ae1761c-d2f8-43f3-a91d-68763fb50e0b&utparam=%257B%2522process_id%2522%253A%2522110%2522%252C%2522x_object_type%2522%253A%2522product%2522%252C%2522pvid%2522%253A%25224ae1761c-d2f8-43f3-a91d-68763fb50e0b%2522%252C%2522belongs%2522%253A%255B%257B%2522id%2522%253A%25224001%2522%252C%2522type%2522%253A%2522dataset%2522%257D%255D%252C%2522scm%2522%253A%25221007.28480.226530.0%2522%252C%2522tpp_buckets%2522%253A%252221669%25230%2523186385%25230_21669%25234190%252319163%2523569_15324%25230%2523132599%25230%2522%252C%2522x_object_id%2522%253A%25224000317035065%2522%257D";
final Pattern pattern = Pattern.compile(regex);
final Matcher matcher = pattern.matcher(string);
while (matcher.find()) {
System.out.println("Full match: " + matcher.group(0));
for (int i = 1; i <= matcher.groupCount(); i++) {
System.out.println("Group " + i + ": " + matcher.group(i));
}
}
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html