swift的正则表达式(NSRegularExpression)

swift的正则表达式(NSRegularExpression)

by 伍雪颖

import UIKit

class ViewController:
UIViewController {

override
func viewDidLoad() {

super.viewDidLoad()

let mailPattern =

"^([a-z0-9_\\.-]+)@([\\da-z\\.-]+)\\.([a-z\\.]{2,6})$"

let matcher =
RegexHelper(mailPattern)

let maybeMailAddress =
"[email protected]"

if matcher.match(maybeMailAddress)
{

println("valid email")

}

}

struct RegexHelper {

let regex:
NSRegularExpression?

init(_
pattern: String) {

var error:
NSError?

regex =
NSRegularExpression(

pattern: pattern,

options: .CaseInsensitive,

error: &error)

}

func match(input:
String) ->
Bool {

if
let matches =
regex?.matchesInString(input,

options: nil,

range: NSMakeRange(0,
count(input))) {

return matches.count
> 0

} else {

return
false

}

}

}

}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-03 21:54:32

swift的正则表达式(NSRegularExpression)的相关文章

iOS正则表达式NSRegularExpression

有时候我们可能想从网页上自己想要的数据摘取下来,此时一般我们可以使用正则表达式(NSRegularExpression).扫描器(NSScanner)两种途径解析. 在使用正则表达式的时候,如果需要解析HTML网页源码,使用NSRegularExpression的matchesInString方法解析可能只会返回一个结果,这是由于遇到换行符所导致,此时只需将.替换成[\\s\\S],小括号的意思是取出中间括号内匹配到的部分,其NSRange值将会在结果中返回.返回的result(NSTextCh

SWIFT中正则表达式验证邮箱

在playground内写入以下代码,正则关键字跟其它语言的没什么区别 class Regex { let internalExpression:NSRegularExpression let pattern:String init(pattern:String) { self.pattern = pattern var error:NSError? self.internalExpression = NSRegularExpression(pattern: pattern, options:

swift 使用正则表达式

通常用一个常用的正则类 class Regex { let internalExpression: NSRegularExpression let pattern: String init(_ pattern: String) { self.pattern = pattern var error: NSError? self.internalExpression = NSRegularExpression(pattern: pattern, options: .CaseInsensitive,

swift 手机号码正则表达式 记录一下

1 func isTelNumber(num:NSString)->Bool 2 { 3 var mobile = "^1(3[0-9]|5[0-35-9]|8[025-9])\\d{8}$" 4 var CM = "^1(34[0-8]|(3[5-9]|5[017-9]|8[278])\\d)\\d{7}$" 5 var CU = "^1(3[0-2]|5[256]|8[56])\\d{8}$" 6 var CT = "^1((

Swift 正则表达式

swift的正则表达式,可以自定义一个类,方便调用 class Regex { let internalExpression: NSRegularExpression let pattern: String init(_ pattern: String) { self.pattern = pattern var error: NSError? self.internalExpression = NSRegularExpression(pattern: pattern, options: .Cas

iOS中的过滤器和正则表达式(NSPredicate,NSRegularExpression)

参考链接:http://www.cocoachina.com/industry/20140321/8024.html NSPredicate Cocoa提供了一个NSPredicate类,它用来指定过滤器的条件 初始化方法 + (NSPredicate *)predicateWithFormat:(NSString *)predicateFormat, ...; Format: /** 1.格式说明符 %d和%@等插入数值和字符串,%K表示key 还可以引入变量名,用$,类似环境变量,如:@"n

iOS开发之详解正则表达式

本文由Charles翻自raywenderlich原文:NSRegularExpression Tutorial: Getting Started更新提示:本教程被James Frost更新到了iOS8和swift.Tutorial团队成员的Soheil Azarpour完成最初发布.正则表达式(广为所知的"regex")是一个字符串或一个字符序列来说明一种模式,把它作为一个搜索字符串-非常强大! 在一个文本编辑器或文字处理器中普通的旧式搜索只允许你进行简单的匹配.正则表达式可以实现这

iOS NSPredicate和正则表达式

简述:Cocoa 提供了NSPredicate 用于指定过滤条件,谓词是指在计算机中表示计算真假值的函数,它使用起来有点儿像SQL 的查询条件,主要用于从集合中分拣出符合条件的对象,也可以用于字符串的正则匹配. 定义(最常用到的方法): NSPredicate *ca = [NSPredicate predicateWithFormat:(NSString *), ...]; Format:(1)比较运算符>,<,==,>=,<=,!=可用于数值及字符串例:@"numbe

使用正则表达式寻找字符串中出现了几个[***]样式的字符串

使用正则表达式寻找字符串中出现了几个[***]样式的字符串 源码如下: - (NSUInteger)analyseRX:(NSString *)string withPatternString:(NSString *)patternString { // \\[[^\\]]+\\] 用以匹配字符串中所出现的 [*] 的个数 // <[^>]+> 用以匹配字符串中所出现的 <*> 的个数 if (string == nil) { return 0; } // 正则表达式 NSR