无忧启动论坛

 找回密码
 注册
搜索
最纯净的「微PE装机优盘」UEPON大师作品系统gho:最纯净好用系统下载站虚位以待
虚位以待广告联系 QQ:184822951 微信:wuyouceoidc大全★服务器租用★香港/5M/450元
查看: 1457|回复: 3

swfit 正则表达式例子

[复制链接]
发表于 2014-11-17 09:06:13 | 显示全部楼层 |阅读模式

import Foundation
func testRegx(pattern:String,matchString:String)->Bool{
    var error:NSError?
    let expression=NSRegularExpression(pattern: pattern, options: .CaseInsensitive, error: &error)
    let matches = expression.matchesInString(matchString, options: nil, range: NSMakeRange(0, countElements(matchString)))
    return matches.count > 0
}

testRegx("\\w{4}","abdddcd")



当然,你可以封装成一个工具类,以后使用方面一点:

class Regex {
  let internalExpression: NSRegularExpression
  let pattern: String

  init(_ pattern: String) {
    self.pattern = pattern
    var error: NSError?
    self.internalExpression = NSRegularExpression(pattern: pattern, options: .CaseInsensitive, error: &error)
  }

  func test(input: String) -> Bool {
    let matches = self.internalExpression.matchesInString(input, options: nil, range:NSMakeRange(0, countElements(input)))
    return matches.count > 0
  }
}

然后就可以用这种方法使用:

Regex("\\w{4}").test("abdddcd")
发表于 2014-12-10 07:58:04 | 显示全部楼层
可以理解!
回复

使用道具 举报

 楼主| 发表于 2014-12-26 23:58:22 | 显示全部楼层
判断字符串中是否含有字母和数字

  1. let str = "#$ABCD"

  2. if let range = str.rangeOfString("[0-9,A-Z,a-z]", options: .RegularExpressionSearch) {
  3.     println(str.substringWithRange(range))
  4. } else {
  5.     println("不存在")
  6. }
复制代码
回复

使用道具 举报

发表于 2016-4-26 08:07:13 | 显示全部楼层
回复一下吧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2020-1-21 00:01

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表