I am extracting usernames from urls using ^(?:https?://)?(?:www.)?(?:website.com)?/?([^/s]+). This method will return “username?lang=en”. How can i remove the “?lang=en” from the end ?
Advertisement
Answer
You can use
^(?:https?://)?(?:www.)?(?:website.com)?/?([^/s?#]+)
See the regex demo. Details:
^– start of string(?:https?://)?– an optional occurrence ofhttp://orhttps://(?:www.)?– an optional occurrence ofwww.(note that the literal dot must be escaped)(?:website.com)?– an optional occurrence ofwebsite.com/?– an optional/char([^/s?#]+)– Group 1: one or more chars other than/, whitespace,?and#chars.