(Regular) - 常用的正则表达式

一.NSRegularExpression

  • 1.仅仅保留中文
        let str = "aiva你好94177吗??"
        
        let pattern = "[^\\u4E00-\\u9FA5]"
        
        let regex = try? NSRegularExpression(pattern: pattern, options: [])
        let result = regex?.stringByReplacingMatches(in: str, options: [],
                                                     range: NSMakeRange(0, str.count),
                                                     withTemplate: "")
        
        print(result ?? "")
  • 2.常用的一些正则表达式:
非中文:[^\\u4E00-\\u9FA5]
非英文:[^A-Za-z]
非数字:[^0-9]
非中文或英文:[^A-Za-z\\u4E00-\\u9FA5]
非英文或数字:[^A-Za-z0-9]
非因为或数字或下划线:[^A-Za-z0-9_]

二. NSPredicate

        let phoneNum = "14728765642"

        let regex = "1[3456789][0-9]{9}"
        let predicate = NSPredicate(format: "SELF MATCHES %@", regex)
        let isValid = predicate.evaluate(with: phoneNum)

        print("\(isValid ? "" : "不")是手机号码")

常用的正则表达式

url

"\\b(([\\w-]+://?|www[.])[^\\s()<>]+(?:\\([\\w\\d]+\\)|([^[:punct:]\\s]|/)))"
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容