美文网首页iOS Developer
正则表达式随笔

正则表达式随笔

作者: 说一句话介绍自己 | 来源:发表于2016-02-29 18:13 被阅读71次

//正则表达式:

在编写处理字符串的程序时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码

正则表达式是对字符串操作的一种逻辑公式,用事先定义好的一些特定字符、及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用来表达对字符串的一种过滤逻辑。

-在很多文本编辑器里,可以使用正则表达式进行检索,Xcode同样支持正则表达式!

-几乎所有的程序设计语言都支持正则表达式,例如:OC,java,c#,python,js等。

目的:

1. 给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”);

2. 可以通过正则表达式,从字符串中获取我们想要的特定部分。

好处:

1. 灵活性、逻辑性和功能性非常的强;

2. 可以迅速地用极简单的方式达到字符串的复杂控制。

3. 对于刚接触的人来说,比较晦涩难懂。

用处:

1. 判断给定的字符串是否符合某一种规则(专门用于操作字符串)

> 电话号码,电子邮箱,URL...

可以直接百度别人写好的正则

1> 别人真的写好了,而且测试过了,我们可以直接用

2> 要写出没有漏洞正则判断,需要大量的测试,通常最终结果非常负责

2. 过滤筛选字符串,网络爬虫

3. 替换文字,QQ聊天,图文混排

//  ViewController.m

//  1.正则表达式练习

//

//  Created by Francis on 15/2/21.

//  Copyright © 2015年 Francis. All rights reserved.

//

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {

[super viewDidLoad];

//创建url字符串

NSString *str = @"https://blog.csdn.net/weasleyqi/article/details/7912647";

//定义规则

NSString *pattern = @"((http|ftp|https)://)(([a-zA-Z0-9\\._-]+\\.[a-zA-Z]{2,6})|([0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}))(:[0-9]{1,4})*(/[a-zA-Z0-9\\&%_\\./-~-]*)?";

//创建正则对象

NSRegularExpression *regular = [[NSRegularExpression alloc]initWithPattern:pattern options:0 error:nil];

//开始匹配,指定字符串

NSUInteger count = [regular numberOfMatchesInString:str options:0 range:NSMakeRange(0, str.length)];

//返回第一个符合要求的结果

NSTextCheckingResult *result = [regular firstMatchInString:str options:0 range:NSMakeRange(0, str.length)];

NSLog(@"%ld",count);

//截取范围字符串

str = [str substringWithRange:result.range];

NSLog(@"%@",str);

}

相关文章

  • 2018-04-13

    Java学习随笔 ——正则表示式 正则表达式初级版 在使用正则表达式之前,需要import java.util.r...

  • 2018-08-22

    Java学习随笔 正则表达式性能问题 听说正则的性能很是问题,具体的比较可以参考 http://blog.sina...

  • Linux命令行与Shell脚本编程大全-shell正则表达式

    本章内容: 定义正则表达式 了解基本正则表达式 扩展正则表达式 创建正则表达式 定义正则表达式 正则表达式是你定义...

  • 假期还有一个月了

    上个月,java学习笔记写了十份,加之今日,已经接触到正则表达式。 给自己写的工具软件,写了两个 文章随笔写了16...

  • 正则相关

    正则表达式基本语法 正则表达式常见字符 正则表达式特殊字符 正则表达式数量词 正则表达式边界匹配 正则表达式逻辑或...

  • 正则表达式系列-1

    正则表达式系列-1正则表达式系列-2正则表达式系列-3正则表达式系列-4 什么是正则表达式 正则表达式就是用事先定...

  • 正则表达式

    正则表达式 - 教程正则表达式 - 简介正则表达式 - 语法正则表达式 - 元字符正则表达式 - 运算符优先级正则...

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

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

  • Java正则表达式参考

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

  • 正则表达式随笔

    刷题过程中遇到的这类问题--字符串匹配问题,解决起来简单多了。总结的不多,以后补充吧。知识面太窄了。 题目:读入数...

网友评论

    本文标题:正则表达式随笔

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