SQL 喜欢并匹配 Swift 中的字符串查询

SQL like & matches query on string in Swift

我想写一个可以对两个字符串进行比较的函数。

像这样:

func stringComparison(_ str1:String, comparisonOperator:StringComparisonOperator, _ str2:String)
{
   ...
}

我想在 StringComparisonOperator

中支持以下类型
enum StringComparisonOperator {
    case equals
    case contains
    case beginsWith
    case endsWith
    case like
    case matches
}

Swift 提供 ==(等号)、.contains(包含)、.hasPrefix(beginsWith)和 .hasSuffix(endsWith) .

但是,我对 likematches 选项一无所知。有人可以帮助我吗?

您可以为 likematches

创建中缀运算符
infix operator =~
func =~ (string: String, regex: String) -> Bool {
    return string.range(of: regex, options: .regularExpression) != nil
}

并像这样使用:"abcd" =~ "ab*cd"