Swift 将 javascript 正则表达式转换为 ios 正则表达式
Posted
技术标签:
【中文标题】Swift 将 javascript 正则表达式转换为 ios 正则表达式【英文标题】:Swift convert javascript regualr expression into ios regular expression 【发布时间】: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 中相同 我试过那个代码。它不工作 显示你尝试过的代码 我添加了我的代码 【参考方案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
不过,正则表达式看起来仍然很奇怪。
【讨论】:
以上是关于Swift 将 javascript 正则表达式转换为 ios 正则表达式的主要内容,如果未能解决你的问题,请参考以下文章