美文网首页00『 基础知识 』
iOS开发 - 关于正则表达式的一些记录

iOS开发 - 关于正则表达式的一些记录

作者: Li_Cheng | 来源:发表于2019-12-24 15:11 被阅读0次

    引言:
    正则表达式就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,用来表达对字符串的一种过滤逻辑。

    通过正则表达式可以达到如下的目的:

    1. 给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”);
    2. 可以通过正则表达式,从字符串中获取我们想要的特定部分。

    I. 匹配普通文本字符


    正则表达式可以只包含普通的文本,代表去精确匹配这个文本。例如:

    正则表达式:song
    待匹配文本:xiaosongge,xiaoSongge
    匹配后结果:xiaosongge

    分析:正则表达式默认是区分大小写的,所以song不会匹配 "Song" 。但是大部分的正则表达式实现都提供了一个选项表示不区分大小写。

    II. 匹配任意字符


    .用来匹配一个任意字符,例如:

    正则表达式:c.t
    待匹配文本:cat cet caaat dog
    匹配后结果:cat cet

    分析:c.t 会匹配以 "c" 开头,以 "t" 结尾,中间为任意字符的字符串。

    同理,多个连续的.可以匹配多个连续的任意字符:

    正则表达式:c..t
    待匹配文本:cat cet caat dog
    匹配后结果:caat

    III. 匹配特殊字符


    .在正则表达式中含有特殊的意义,是一个特殊的字符。\也是特殊字符,可以对特殊字符起到转义作用。如果你想匹配的是一个真正的 "." 字符,需要在 . 前面加上 \ 对字符进行转义。所以,\. 表示真正的 "." 字符。

    正则表达式:c.t
    待匹配文本:cat c.t dog
    匹配后结果:c.t

    注意:因为\也是特殊字符,所以想要匹配一个真正的 "" 字符,需要使用两个反斜线\\

    正则表达式:c\\t
    待匹配文本:cat c\t dog
    匹配后结果:c\t

    IV. 使用字符集合


    上面说到.能匹配一个任意字符,但是如果我想匹配几个特定字符怎么办?匹配一组特定的字符可以使用[和]元字符。

    正则表达式:c[ab]t
    待匹配文本:cat cbt cet
    匹配后结果:cat cbt cet

    分析:[ab]会匹配 "a" 或者 "b"。所以 c[ab]t 会匹配 "cat" 和 "cbt" 而不会匹配 "cet"。


    相关文章

      网友评论

        本文标题:iOS开发 - 关于正则表达式的一些记录

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