【问题标题】:Get url address with regex使用正则表达式获取 url 地址
【发布时间】:2016-01-04 16:02:28
【问题描述】:

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

您能否告知如何实现这一目标?

【问题讨论】:

  • 因为{2,3} 允许三个字符?

标签: regex salesforce apex-code apex


【解决方案1】:

正如Washington Guedes 提到的,{2,3} 将匹配 2 或 3 个字符。

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

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

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

【讨论】:

    猜你喜欢
    • 2013-06-09
    • 1970-01-01
    • 1970-01-01
    • 2016-08-28
    • 2011-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多