使用正则表达式获取 url 地址

Get url address with regex

我正在尝试从此字符串中获取以下 url 地址 www.salesforce.co.uk:

'raewaferwww.salesforce.co.ukhrewadfea'.

出于这个原因,我创建了以下正则表达式:

https?://www.|https?|www.)([A-Za-z\d._~:/?#\[\]@!$&\'()*+,;=-]|%[0-9a-fA-F]{2})+[.][A-Za-z]{2,3}

返回结果为:

www.salesforce.co.ukh

我想知道的是如何删除 'h' 字符并拥有适当的 www.salesforce.co.uk url 地址?

请问如何实现?

Washington Guedes 所述,{2,3} 将匹配 2 个或 3 个字符。

更改为 {2} 只会给你 www.salesforce.co.uk

但是:如果您的目的是匹配其他以 3 个字母的 TLD 结尾的 url,切换到 {2} 将无法满足您的整体需求。

为了从字符串中匹配两个字母的 TLD(.uk、.to 等) 三个字母的 TLD(.com、.net 等)的字母,您需要专门匹配 TLD,并在 2 个字母之前检查 3 个字母(否则 .com 将匹配为 .co