当前位置: 首页 > news >正文

wordpress基础主题站/石家庄最新消息今天

wordpress基础主题站,石家庄最新消息今天,如何把网站建设好,做网站做系统一样么swift 至今并没有在语言层面上支持正则表达式,可能在开发app时正则表达式使用的场景并不多。 封装 在 Cocoa 中我们可以使用 NSRegularExpression 来做正则匹配,所以我们在 NSRegularExpression 的基础上封装一个 RegularExpHelper 配匹一个字符串是否符…

swift 至今并没有在语言层面上支持正则表达式,可能在开发app时正则表达式使用的场景并不多。

封装

在 Cocoa 中我们可以使用 NSRegularExpression 来做正则匹配,所以我们在 NSRegularExpression 的基础上封装一个 RegularExpHelper 配匹一个字符串是否符合某个正则表达式。

struct RegularExpHelper {let RegularExp: NSRegularExpressioninit(_ pattern: String) throws {try RegularExp = NSRegularExpression(pattern: pattern, options: .caseInsensitive)}func match(inpuut: String) -> Bool {let matches = RegularExp.matches(in: inpuut, options: [], range: NSMakeRange(0, inpuut.count))return matches.count > 0}
}
复制代码

自定义 =~

有了封装好的 RegularExpHelper,我们就可以方便的自定义运算符了。

infix operator =~ : ATPrecedence
precedencegroup ATPrecedence {associativity: nonehigherThan: AdditionPrecedencelowerThan: MultiplicationPrecedence
}func =~ (input: String, RegularExp: String) -> Bool {do {return try RegularExpHelper(RegularExp).match(inpuut: input)} catch _ {return false}
}
复制代码

运算符定义

  • infix 表示定义一个中位操作符(前后都是输入)
  • prefix 表示定义一个前位操作符(前是输入)
  • postfix 表示定义一个后位操作符(后是输入)

associativity 结合律

即多个同类的操作符顺序出现时的计算顺序

  • left (从左往右的顺序)
  • right(从右往左的顺序)
  • none(默认就为 none,不会再结合)

优先级

  • higherThan 优先级高于 AdditionPrecedence 这个是加法的类型
  • lowerThan 优先级低于 MultiplicationPrecedence 乘除

然后我们就可以使用了

    if "88888888@qq.com" =~ "^([a-z0-9_\\.-]+)@([\\da-z\\.-]+)\\.([a-z\\.]{2,6})$" {print("符合邮箱规则")} else {print("不符合邮箱规则")}
复制代码

注意

  • 使用正则表达式字符串时注意转义字符的使用。
  • swift 的操作符是不能定义在局部域中的,因为操作符是需要在全局范围内使用的。
  • 重载和自定义操作符存在很多风险,使用前请多问问自己是否真的需要这么做!
http://www.jmfq.cn/news/5074813.html

相关文章:

  • 公司网站制作教学/磁力王
  • 成都黑帽seo/新乡seo顾问
  • ecshop 获取网站域名/附近学电脑培训班
  • 北京正规网站建设有几种/百度推广优化是什么?
  • 深圳建设工程交易服务网站/短视频seo排名系统
  • 北京电商网站建设哪家好/seo草根博客
  • 广东微信网站开发哪家好/微信软文是什么
  • 网站建设-设计/独立站seo外链平台
  • 虎门网站建设服务商/优秀的软文
  • 网站的虚拟人怎么做的/市场推广计划怎么写
  • 2021网站你懂我意思正能量/电商网站网址
  • 哪些网站是做婴童辅食招商的/企业网站排名优化
  • ps做的网站保存不了jpg/如何做好搜索引擎优化工作
  • 作品设计思路范文/百家号关键词排名优化
  • 做封面的网站在哪里/软文怎么写吸引人
  • wordpress 换行用/seo排名点击器曝光行者seo
  • 江苏中小企业建站价格/全网营销与seo
  • 武汉网络兼职网站建设/杭州网站推广找哪家
  • wordpress如何启用全站ssl/宁波网站推广大全
  • 简单logo设计/短视频seo关键词
  • webstorm做网站/搜索引擎优化概述
  • 竞价网站服务器/打开百度一下网页版
  • 哪里有网站建设加盟合作/常州百度推广代理
  • 如何做公司网站的/关键词seo公司
  • 做单页网站需要做什么/济南疫情最新消息
  • 张家界企业网站制作/推广什么软件可以长期赚钱
  • 山东网站制作哪家好/推广优化排名
  • 做网站要那些设备/百度关键词排名神器
  • linux做网站/微信如何投放广告
  • 网站指向错误/网店如何推广