【问题标题】:Swift convert javascript regualr expression into ios regular expressionSwift 将 javascript 正则表达式转换为 ios 正则表达式
【发布时间】:2018-09-24 05:10:32
【问题描述】:

Javascript 中的正则表达式:(^04[0-9]{8})|(^[0-9]{2}[0-9]{4}[0-9]{4}$)

我正在尝试澳大利亚手机的正则表达式没有验证。如何将此正则表达式转换为 iOS 正则表达式?

let Format = "^04[0-9]{8})|(^[0-9]{2}[0-9]{4}[0-9]{4}$"
let Predicate = NSPredicate(format: "SELF MATCHES %@", Format)
return Predicate.evaluate(with: fieldText)

【问题讨论】:

  • 用显示您尝试的相关 Swift 代码更新您的问题。清楚地解释您遇到的问题。
  • 您在 Swift 中的 regem 将与在 Java 中相同
  • 我试过那个代码。它不工作
  • 显示你尝试过的代码
  • 我添加了我的代码

标签: ios swift regex


【解决方案1】:

我认为您在开头和结尾只缺少括号 ()

let fieldText = "0401234567"
let pattern = "(^04[0-9]{8})|(^[0-9]{2}[0-9]{4}[0-9]{4}$)"
let matches = fieldText.range(of: pattern, options: .regularExpression) != nil
print(matches) // true

或者,NSPredicate:

let fieldText = "0401234567"
let pattern = "(^04[0-9]{8})|(^[0-9]{2}[0-9]{4}[0-9]{4}$)"
let predicate = NSPredicate(format: "SELF MATCHES %@", pattern)
let matches = predicate.evaluate(with: fieldText)
print(matches) // true

不过,正则表达式看起来仍然很奇怪。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-02
    • 1970-01-01
    • 2019-05-11
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多