TAG

RSS订阅

收藏本站

设为首页

当前位置:主页 > 移动开发 > IOS开发 >

正则表达式,正则

发布时间:2016-12-21 22:13 类别:IOS开发

正则表达式,正则


参考网址:

http://deerchao.net/tutorials/regex/regex.htm

 

匹配字符:

 

[]-----表示匹配一个字符

 

^-----匹配字符串的开始,如果不在[]里面表示以什么开头, 在[^]表示不是那些字符

 

$-----匹配字符串的结束

 

.-----点表示匹配除换行符之外的任意字符

 

 

 

匹配字符取反:

 

\W-----匹配非(字母 或 数字 或 下划线 或 汉字)

 

\w-----匹配(字母 或 数字 或 下划线 或 汉字)

 

\D-----匹配非(数字字符)

 

\d-----匹配(数字字符)

 

\S-----匹配非(空白字符)

 

\s-----匹配(空白字符)

 

 

 

匹配次数:

 

{n}-----指定出现的次数

 

{m,n}-----最少出现m次,最多出现n次

 

{m,}-----最少出现m次,最多无限次

 

?-----重复0次或1次

 

+-----重复1次或多次

 

*-----重复0次或多次

 

正则表达式示例:

 

abc-----匹配abc

 

[a-z][0-9]-----包含一个小写字母,后面必须跟一个0-9的数字

 

[a-zA-Z][0-9]或者[a-z,A-Z][0-9]-----逗号可写可不写,包含一个字母,后面必须跟一个0-9的数字

 

[a-zA-Z][0-9]{4,9}-----包含一个字母,后面跟上4-9个数字(数字范围0-9)

 

^[1-9][0-9]{4,11}$-----QQ号码匹配,以1-9的数字开头,后面跟0-9(4-11个)的数字,一共5-12个数字,^表示开始匹配,$表示结束匹配

 

^1[3,5,7,8]\\d{9}$或者^1[3,5,7,8][0-9]{9}$-----手机号码匹配,以13/15/17/18开头,长度11的数字

 

^[^0-9]-----不能是数字开头

 1 class ViewController: UIViewController {
 2     
 3     override func viewDidLoad() {
 4         super.viewDidLoad()
 5         regularExpressionDemo()
 6     }
 7     
 8     private func regularExpressionDemo() -> (){
 9         // 源字符串
10         let str = "中国中国abc23872367中国中国"
11         
12         // 根据正则表达式进行匹配
13         // pattern:正则表达式
14         // options:匹配选项,如忽略大小写等,传[]即可
15         // range:匹配的范围
16         let matchResult = try! NSRegularExpression(pattern: "abc", options: []).matches(in: str, options: [], range: NSMakeRange(0, (str as NSString).length))
17         
18         // 遍历匹配结果
19         for match in matchResult{
20             // 匹配的范围
21             let range = match.range
22             
23             // 根据匹配的范围截取出符合条件的字符串
24             let subText = (str as NSString).substring(with: range)
25             
26             print("匹配范围:\(NSStringFromRange(range));截取的字符串:\(subText)")
27         }
28     }
29 }

 

猜你会喜欢....

Copyright © 2015 www.wahenzan.com 哇!很赞 版权所有 浙ICP备14030256号-1 Power by DedeCms

浙公网安备 33010602005986号

声明:本站所有文章除标明原创外,均来自网络转载,版权归原作者所有,如果有侵犯到您的权益,请联系本站删除 网站管理员:758763728

360网站安全检测平台