美文网首页Swift学习
Swift3 正则表达式的应用

Swift3 正则表达式的应用

作者: 说不出情绪 | 来源:发表于2017-03-01 15:20 被阅读1992次

在Swift的编程中我们用到正则表达式主要在两方面:
1.判断一些字符是否符合所需要求;
2.用于检索文本中所需字段。

匹配对应类型的正则表达式网上要多少有多少,我就不一一列举了,想更深层次了解的点这里,本文只说明Swift3中如何使用。

一、判断一些字符是否符合所需要求

例如匹配有效邮箱:

let email = "jay734138477@qq.com"
let regex = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}"
let predicate = NSPredicate(format: "SELF MATCHES %@", regex)
let isValid = predicate.evaluate(with: email)
print(isValid ? "正确的邮箱地址" : "错误的邮箱地址")

输出结果:

正确的邮箱地址

二、用于检索文本中所需字段

创建被检索文本文字:

let searchText = " Do any additional 12 setup <image>http://regxlib.com/Default.aspx<image/> after 30 loading the view,102 typically 0 from a nib."

我们要检索上面文字中的<image>标签对,利用NSRegularExpression类去实现。

do {
    let regex = try NSRegularExpression(pattern: "<image>(http|ftp|https):\\/\\/[\\w\\-_]+(\\.[\\w\\-_]+)+([\\w\\-\\.,@?^=%&amp;:/~\\+#]*[\\w\\-\\@?^=%&amp;/~\\+#])?<image/>", options: .caseInsensitive)
    let result = regex.matches(in: searchText, options: NSRegularExpression.MatchingOptions(rawValue: 0), range: NSMakeRange(0, searchText.characters.count))
    if result.count > 0 {
    for checkingRes in result {
         print("Location:\(checkingRes.range.location), length:\(checkingRes.range.length)")
         }
     }else{
       print("未查找到")
     }
 } catch  {
   print(error)
 }

输出结果:

Location:30, length:46

获取要目标在为本中的位置后再进行其他处理就方便多了。

相关文章

  • Swift3 正则表达式的应用

    在Swift的编程中我们用到正则表达式主要在两方面:1.判断一些字符是否符合所需要求;2.用于检索文本中所需字段。...

  • 改进正则表达式的性能

    正则表达式的应用原理 正则表达式应用到目标字符串的过程大致分为下面几步: 编译正则表达式。检查正则表达式的正确性,...

  • PHP常用正则表达式汇总

    PHP常用正则表达式汇总 正则表达式在 PHP 中的应用在 PHP 应用中,正则表达式主要用于: 正则匹配:根据正...

  • Android 正则表达式的用法

    正则表达式及应用 一、 正则表达式 (一)、概念: 正则表达式(regular expression)就是...

  • Python基础入门 - 正则表达式与综合实战

    1. 初识正则表达式 1.1 介绍 步骤介绍正则表达式入门及应用正则表达式的进阶正则表达式案例 1.2 正则表达式...

  • 正则表达式与方法

    正则表达式---常用符号 正则表达式--常用函数 正则表达式--常用技巧 代码: 正则表达式的应用举例 1、使用f...

  • Java正则表达式参考

    Java正则表达式入门 java正则表达式应用 深入浅出之正则表达式(一) 深入浅出之正则表达式(二) 正则表达式...

  • 正则表达式在程序编码中的应用

    正则表达式在程序编码中的应用 正则表达式(括号)、[中括号]、{大括号}的区别小结 正则表达式的() [] {}有...

  • 常用正则表达式

    常用正则表达式大全!(例如:匹配中文、匹配html)目录导航一、常见正则表达式二、正则表达式应用一、常见正则表达式...

  • swift3-generics

    swift3

网友评论

    本文标题:Swift3 正则表达式的应用

    本文链接:https://www.haomeiwen.com/subject/tnoqgttx.html