const regex = new RegExp('https://www\\.google\\.com/search\\?(?:udm=\\d+)?(.*(?=&udm=\\d+))?([^#]+(?:&udm=\\d+)?)(#.+)', 'g')
const str = `https://www.google.com/search?udm=3&q=windows+11+switch+keyboard+layout&client=firefox-b-d&sca_esv=289553745bb9d363&ei=A6BOaLukDsaoxc8Pu5vviQI&oq=windows+11+switch+keyboard+layout&gs_lp=Egxnd3Mtd2l6LXNlcnAiIXdpbmRvd3MgMTEgc3dpdGNoIGtleWJvYXJkIGxheW91dCoCCAAyBRAAGIAEMgYQABgWGB4yBhAAGBYYHjIGEAAYFhgeMggQABiABBiiBDIIEAAYgAQYogQyBRAAGO8FMgUQABjvBUiNUVCWBljIQnABeAGQAQCYAXigAdQUqgEEMjguNbgBA8gBAPgBAZgCIqACxBbCAgoQABiwAxjWBBhHwgILEAAYgAQYsQMYgwHCAggQABiABBixA8ICDhAAGIAEGLEDGIMBGIoFwgIKEAAYgAQYQxiKBcICCBAuGIAEGLEDwgIOEC4YgAQYxwEYjgUYrwHCAggQABgWGAoYHpgDAIgGAZAGCJIHBDI5LjWgB7ngAbIHBDI4LjW4B7oWwgcGMi0yNS45yAfWAQ&sclient=gws-wiz-serp#vhid=zephyr:0&vssid=atritem-
https://www.google.com/search?q=windows+11+switch+keyboard+layout&client=firefox-b-d&sca_esv=289553745bb9d363&ei=A6BOaLukDsaoxc8Pu5vviQI&oq=windows+11+switch+keyboard+layout&gs_lp=Egxnd3Mtd2l6LXNlcnAiIXdpbmRvd3MgMTEgc3dpdGNoIGtleWJvYXJkIGxheW91dCoCCAAyBRAAGIAEMgYQABgWGB4yBhAAGBYYHjIGEAAYFhgeMggQABiABBiiBDIIEAAYgAQYogQyBRAAGO8FMgUQABjvBUiNUVCWBljIQnABeAGQAQCYAXigAdQUqgEEMjguNbgBA8gBAPgBAZgCIqACxBbCAgoQABiwAxjWBBhHwgILEAAYgAQYsQMYgwHCAggQABiABBixA8ICDhAAGIAEGLEDGIMBGIoFwgIKEAAYgAQYQxiKBcICCBAuGIAEGLEDwgIOEC4YgAQYxwEYjgUYrwHCAggQABgWGAoYHpgDAIgGAZAGCJIHBDI5LjWgB7ngAbIHBDI4LjW4B7oWwgcGMi0yNS45yAfWAQ&udm=5&sclient=gws-wiz-serp#vhid=zephyr:0&vssid=atritem-
https://www.google.com/search?q=windows+11+switch+keyboard+layout&client=firefox-b-d&sca_esv=289553745bb9d363&ei=A6BOaLukDsaoxc8Pu5vviQI&oq=windows+11+switch+keyboard+layout&gs_lp=Egxnd3Mtd2l6LXNlcnAiIXdpbmRvd3MgMTEgc3dpdGNoIGtleWJvYXJkIGxheW91dCoCCAAyBRAAGIAEMgYQABgWGB4yBhAAGBYYHjIGEAAYFhgeMggQABiABBiiBDIIEAAYgAQYogQyBRAAGO8FMgUQABjvBUiNUVCWBljIQnABeAGQAQCYAXigAdQUqgEEMjguNbgBA8gBAPgBAZgCIqACxBbCAgoQABiwAxjWBBhHwgILEAAYgAQYsQMYgwHCAggQABiABBixA8ICDhAAGIAEGLEDGIMBGIoFwgIKEAAYgAQYQxiKBcICCBAuGIAEGLEDwgIOEC4YgAQYxwEYjgUYrwHCAggQABgWGAoYHpgDAIgGAZAGCJIHBDI5LjWgB7ngAbIHBDI4LjW4B7oWwgcGMi0yNS45yAfWAQ&sclient=gws-wiz-serp&udm=5#vhid=zephyr:0&vssid=atritem-
https://www.google.com/search?q=windows+11+switch+keyboard+layout&client=firefox-b-d&sca_esv=289553745bb9d363&ei=A6BOaLukDsaoxc8Pu5vviQI&oq=windows+11+switch+keyboard+layout&gs_lp=Egxnd3Mtd2l6LXNlcnAiIXdpbmRvd3MgMTEgc3dpdGNoIGtleWJvYXJkIGxheW91dCoCCAAyBRAAGIAEMgYQABgWGB4yBhAAGBYYHjIGEAAYFhgeMggQABiABBiiBDIIEAAYgAQYogQyBRAAGO8FMgUQABjvBUiNUVCWBljIQnABeAGQAQCYAXigAdQUqgEEMjguNbgBA8gBAPgBAZgCIqACxBbCAgoQABiwAxjWBBhHwgILEAAYgAQYsQMYgwHCAggQABiABBixA8ICDhAAGIAEGLEDGIMBGIoFwgIKEAAYgAQYQxiKBcICCBAuGIAEGLEDwgIOEC4YgAQYxwEYjgUYrwHCAggQABgWGAoYHpgDAIgGAZAGCJIHBDI5LjWgB7ngAbIHBDI4LjW4B7oWwgcGMi0yNS45yAfWAQ&sclient=gws-wiz-serp#vhid=zephyr:0&vssid=atritem-`;
const subst = `https://www.google.com/search?udm=14$1$2`;
// The substituted value will be contained in the result variable
const result = str.replace(regex, subst);
console.log('Substitution result: ', result);
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 JavaScript, please visit: https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions