美文网首页
正则表达式

正则表达式

作者: Peng_001 | 来源:发表于2020-07-16 09:43 被阅读0次

    前言

    正则表达式,regular expression(RE),就是为了用简洁的方式来表达字符串。

    试想一下,如果想要表现一个字符,包含一个A和五万个B,一个一个列举,得到猴年马月啊。
    再者,如果要列举AB开头,后续字符串不包含ABCDEF,且不长于20长度的字符串,一个一个枚举,要多久呀!

    这时候,正则表达式,这个大救星出场了。


    而正则表达式,主要应用在字符串匹配过程。

    使用RE

    语法

    • 正则表达式由字符和操作符构成


    需要强调的是,正则表达式的字符范围包括大小写字母,罗马数字,以及部分符号。
    
    . 表示任何单个字符
    [] 对单个字符给出取值范围;[abc]表示a或b或c,[a-f]表a-f中的任意一个字符串。
    [^ ],与[]相反,指取值范围以外字符;[^abc]表示非a非b非c。
    *,前一个字符0或无限延伸;abc*表示,ab,abc,abcc...
    +,前一个字符1或无限延伸;abc+表示,abc,abcc,abccc...
    ?,前一个字符0或1次延伸;abc?表示,ab,abc。
    |,左右表达式任意一个;ab|cd表示,ab或cd。
    {m},扩展前一个字符串m次;ab{2}c,表示abbc。
    {m,n},扩展前一个字符串m 到n次;ab{1,2}c,表示abc,abbc。
    ^,表示字符串开头部分;^abc,匹配abc 开头的字符串。
    $,匹配字符串结尾;abc$,匹配abc 结尾的字符串。
    (),分组标记,内部只可以用|;(abc)表示abc,(abc|def)表示abc, def。
    \d 数字,等价于[0-9]
    \w 单词字符,等价于[A-Z], [a-z], [0-9] 及 -。
    

    小练习

    第一题:

    ? 表() 部分出现0或1次,因此对应字符串为

    PN, PYN, PYTHN,PYTHON
    

    第二题:

    PYTHON+
    可表示

    PYTHON
    PYTHONN
    PYTHONNN
    ...
    ...
    

    第三题:

    PY{:3}N
    可表示

    PN
    PYN
    PYYN
    PYYYN
    

    经典正则表达式

    1)^[A-Za-z]+$,匹配开头结尾之间的,也就是任意数目的二十六个大小写字母组成的字符串。
    可以再加上数字,^[A-Za-z0-9]+$

    2)整数的字符串如何表示呢?^-?\d+$

    设计正则表达式

    相关文章

      网友评论

          本文标题:正则表达式

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