加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Swift3.0-正则表达式 <待续>

发布时间:2020-12-14 06:36:10 所属栏目:百科 来源:网络整理
导读:贡献者:赵大财 博客:https://my.oschina.net/zhaodacaiGitHub:https://github.com/zhaodacai 邮箱: zhaodacai@yeah.com QQ:327532817 ============================= 先直接来代码: fileprivate func check(str: String) { do { let pattern = "[^a-z]" let

贡献者:赵大财
博客:https://my.oschina.net/zhaodacaiGitHub:https://github.com/zhaodacai
邮箱: zhaodacai@yeah.com QQ:327532817
=============================

先直接来代码:

fileprivate func check(str: String) {
        do {
            let pattern = "[^a-z]"
            let regex = try NSRegularExpression(pattern: pattern,options: .caseInsensitive)
            let dacaiRange = NSMakeRange(0,str.characters.count)
            
            //匹配到的个数
            let  resa = regex.numberOfMatches(in: str,options: [],range: dacaiRange)
            print(resa)
            
            //匹配第一个结果集
            guard let resb = regex.firstMatch(in: str,range: dacaiRange) else {
                return
            }
            print((str as NSString).substring(with: resb.range))
            
            //第一个结果的range
            print(regex.rangeOfFirstMatch(in: str,options:[],range: dacaiRange).location)
            
            
            //匹配全部
            let resc = regex.matches(in: str,options: NSRegularExpression.MatchingOptions(rawValue: 0),range:dacaiRange)
            for checkingRes in resc {
                print(checkingRes.range.location,checkingRes.range.length)
                print((str as NSString).substring(with: checkingRes.range))
            }
            
            
            //替换
             let newStr = regex.stringByReplacingMatches(in: str,range: dacaiRange,withTemplate: "-e-")
            print(newStr)
        }
        catch {
            print(error)
        }

NSRegularExpression.Options caseInsensitive 不区分大小写 allowCommentsAndWhitespace允许注释和空白 ignoreMetacharacters 忽略字符 dotMatchesLineSeparators 匹配行空格符 anchorsMatchLines 锚配线 useUnixLineSeparatorsUnix行分隔符 useUnicodeWordBoundariesUnicode字边界

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读