使用正则表达式获取网址

时间:2016-01-04 16:02:29

标签: regex salesforce apex-code apex

我正在尝试从此字符串中获取以下网址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网址?

您能告诉我们如何实现这一目标吗?

1 个答案:

答案 0 :(得分:1)

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

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

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

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