ios-正则表达式基础

来源:互联网 发布:大数据下的人力资源 编辑:程序博客网 时间:2024/05/18 22:12

正则表达式能在多语言里通用。在ios中我们可以用正则表达式来做文字的匹配的

在这里我就记录下,我所用到的三个符号

.  用来匹配任意字符,换行除外

*  用来匹配任意多的字符

? 用来匹配尽量少的字符

在Xcode中的一个功能我们也可以使用正则表达式如下图所示我们需要先按command + shift + F 然后点击最后面的那一栏会出现一个Regular Expression,我们点击它就可以进行使用了

点击完成之后的效果如下图所示


创建正则表达式

 let regex = try! NSRegularExpression(pattern: pattern, options: [])
pattern是匹配方案,专门用来过滤字符串的其中(.*?)表示的是我们将要获取的内容,我们要忽略的内容可以用.*?来表示,这样下去的话我们所获取到的result.numberOfRanges会增加,然后我们获取到的范围的话 rangeAtIndex 0 取到所有和pattern相匹配的字符串, index为1的话就是取(.*?)中的内容

let pattern = "<a href=\"(.*?)\".*?>(.*?)</a>"

firstMatchInString是在指定的字符串中,查找第一个和pattern符合的字符串

guard let result = regex.firstMatch(in: str, options: [], range: NSRange(location: 0, length: str.characters.count)) else        {            print("没有匹配的项目")            return        }
matches 是在指定的字符串中查找所有和pattern符合的字符串。