正则表达式能在多语言里通用。在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符合的字符串。