gpt4 book ai didi

ios - 特定 URLField 的正则表达式

转载 作者:行者123 更新时间:2023-11-28 13:53:17 27 4
gpt4 key购买 nike

我正在尝试验证表单。在验证 url 字段时,我需要确保用户提供的字符串没有 http(s):// 但可以使用www. 以及诸如xyz.abc 的字符串.com - 注意两个点。

我试过用

UIApplication.sharedApplication().canOpenURL(url)

但这适用于我编写了 https://

我还尝试了来自 here 的这个正则表达式

    let regEx = "((https|http)://)((\\w|-)+)(([.]|[/])((\\w|-)+))+"

删除第一部分后,我似乎无法使用多个点。

最佳答案

您可以使用负向回顾:

let regEx = "(?<!((https|http)://))((\\w|-)+)(([.]|[/])((\\w|-)+))+"

给定这些字符串:

let string1 = "https://www.google.com"
let string2 = "stackoverflow.com/questions/54269877/regex-for-specific-urlfield"

用相同的谓词评估它们的结果:

let predicate = NSPredicate(format:"SELF MATCHES %@", argumentArray:[regEx])

会产生预期的结果:

predicate.evaluate(with: string1)  //false
predicate.evaluate(with: string2) //true

关于ios - 特定 URLField 的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54269877/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com