gpt4 book ai didi

regex - 正则表达式未在 Swift 中返回预期结果

转载 作者:行者123 更新时间:2023-11-30 10:04:41 24 4
gpt4 key购买 nike

我有以下内容,它可以获取另一个字符串中一个字符串的匹配项:

let a : String = "https://www.example.com"
let b = a as NSString
let regex : NSRegularExpression = try! NSRegularExpression(pattern: "(\\.(.*)\\. || /(.*)\\.)", options: .CaseInsensitive)
let text = regex.matchesInString(a, options: [], range: NSMakeRange(0, b.length))
return text.map {b.substringWithRange($0.range)}[0].stringByReplacingOccurrencesOfString(".", withString: "")

目标是创建更具可读性的域名版本。例如 - https://www.example.com应该变成:示例

但这会返回一个空字符串。

我的正则表达式有问题吗?

最佳答案

您的正则表达式模式中有空格。

您正在使用||。这并不意味着正则表达式模式中的 OR。

您正在嵌套括号。

我修改了您的正则表达式,它正在按照您的预期进行。

let a : String = "https://www.example.com"
let b = a as NSString
let regex : NSRegularExpression = try! NSRegularExpression(pattern: "\\.(.*)\\.", options: .CaseInsensitive)
let text = regex.matchesInString(a, options: [], range: NSMakeRange(0, b.length))
return text.map {b.substringWithRange($0.range)}[0].stringByReplacingOccurrencesOfString(".", withString: "")

输出:

"example"

关于regex - 正则表达式未在 Swift 中返回预期结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36730538/

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