【问题标题】:How to get Boolean variable in Regular expressions Swift 4 [duplicate]如何在正则表达式Swift 4中获取布尔变量[重复]
【发布时间】:2018-08-02 17:53:43
【问题描述】:

我正在尝试创建一个查找电子邮件的正则表达式。一切正常。如何获得一个Bool 变量来表示是否找到了这样的表达式?

let someString = "123milka@yandex.ru123"

let regexp = "([a-zA-Z]{1,20})@([a-zA-Z]{1,20}).(com|ru|org)"

if let range = someString.range(of: regexp, options: .regularExpression) {
    let result : String = someString.substring(with: range)

    print(result)
}

【问题讨论】:

  • 仅供参考 - 您的正则表达式将匹配 ===hello@example.com==== 或任何其他两端带有垃圾的电子邮件地址。
  • 另请注意,您的正则表达式与您问题中的示例电子邮件地址不匹配。如果您想检测字符串中的电子邮件地址,您可能还需要考虑使用数据检测器。
  • 如果这不再是重复的,那么您需要解释为什么它不同

标签: regex swift expression


【解决方案1】:

你已经有一个if 测试,所以使用它,设置你认为合适的布尔值。有很多方法可以做到这一点,例如:

let success: Bool

if let range = someString.range(of: regexp, options: .regularExpression) {
    success = true
    let result = someString.substring(with: range)
    print(result)
} else {
    success = false
}

【讨论】:

  • 哦,我犯了一个愚蠢的错误。谢谢你的帮助,亲爱的朋友。
猜你喜欢
  • 2021-10-07
  • 2017-11-04
  • 1970-01-01
  • 1970-01-01
  • 2023-03-23
  • 1970-01-01
  • 1970-01-01
  • 2017-02-03
相关资源
最近更新 更多