相关疑难解决方法(0)

Swift正则表达式格式?

我熟悉pcre正则表达式,但它们似乎并没有迅速发挥作用.

^([1-9]\d{0,2}(\,\d{3})*|([1-9]\d*))(\.\d{2})?$
Run Code Online (Sandbox Code Playgroud)

验证数字,如1,000,000.00

但是,将此放在我的快速函数中会导致错误.

    extension String {
    func isValidNumber() -> Bool {
        let regex = NSRegularExpression(pattern: "^([1-9]\d{0,2}(\,\d{3})*|([1-9]\d*))(\.\d{2})?$", options: .CaseInsensitive, error: nil)
        return regex?.firstMatchInString(self, options: nil, range: NSMakeRange(0, countElements(self))) != nil
    }
}
Run Code Online (Sandbox Code Playgroud)

"litteral中的转义序列无效"

这当然是因为pcre使用"\"字符,swift解释为逃避(我相信?)

因为我不能只使用我习惯的正则表达式.如何将它们翻译为与Swift代码兼容?

regex pcre ios swift

15
推荐指数
2
解决办法
7591
查看次数

忽略逃脱双引号字符迅速

我正在尝试使用NSPredicate和正则表达式验证电话号码.唯一的问题是当设置正则表达式Swift认为我试图逃避它的一部分由于反斜杠.我怎么能绕过这个?

我的代码如下:

let phoneRegEx = "^((\(?0\d{4}\)?\s?\d{3}\s?\d{3})|(\(?0\d{3}\)?\s?\d{3}\s?\d{4})|(\(?0\d{2}\)?\s?\d{4}\s?\d{4}))(\s?\#(\d{4}|\d{3}))?$"
Run Code Online (Sandbox Code Playgroud)

regex escaping nspredicate nsregularexpression swift

3
推荐指数
1
解决办法
1002
查看次数

标签 统计

regex ×2

swift ×2

escaping ×1

ios ×1

nspredicate ×1

nsregularexpression ×1

pcre ×1