When dealing with URLs, there may be cases where you need to extract the base URL without any query string parameters. Whether it’s an “http” or “https” link, here’s a regular expression that can help you achieve that:
/^(http[^?#]+).*/gm
Let’s take a look at an example to understand how it works:
const regex = /^(http[^?#]+).*/gm;
const result = regex.exec("https://test.com?test=2");
console.log(result);
The code snippet above will output the following result:
[
'https://test.com?test=2',
'https://test.com',
index: 0,
input: 'https://test.com?test=2',
groups: undefined
]
As you can see, the regular expression correctly captures the base URL without the query string parameter ("?test=2").
This regular expression captures the base URL by matching “http” or “https,” followed by any character that is not a “?” or “#” sign. The “.*” at the end allows for any additional characters in the URL.
Using this regular expression, you can extract the base URL from URLs with or without query string parameters, providing a versatile solution for your URL parsing needs.
Tags: regular expression, URL parsing, query string parameters, JavaScript