• 正则表达式


     什么是正则表达式?

    正则表达式又称为正规表示式、正规表示法、正规表达式、规则表达式,是计算机科学的一个概念。

    特点:

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

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

    3.比较晦涩难懂(网友吐槽:如果你不觉得正则表达式很难读写的话,要么你是一个天才,要么,你不是地球人。正则表达式的语法很令人头疼,即使对经常使用它的人来说也是如此。);

    用来做什么?

    在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。

    我们可能使用过Windows系统下用于文件查找的通配符:*/?。如果我们想查找某个目录下所有的word文档,搜索“*doc”即可。此处,“*”会被解释成任意的字符串。和通配符类似,正则表达式也是用来进行文本匹配的工具,只不过比起通配符,它能够更精确地描述我们的需求,只不过编写正则表达式的方法更复杂。

    基本语法:

    一个正则表达式通常被称为一个模式,为用来描述或者匹配一系列匹配某个句法规则的字符串。大部分正则表达式的形式都有如下的结构:

    选择

    |竖直分隔符代表选择。例如“gray|grey”可以匹配gray或者grey。

    数量限定

    某个字符后的数量限定符用来限定前面这个字符允许出现的个数。最常见的数量限定符包括“+”、“?”、“*”:

    +代表前面的字符必须至少出现一次。

    ?代表前面的字符最多只可以出现一次。

    *代表前面的字符可以不出现,也可以出现一次或者是多次。

    匹配

    圆括号可以用来定义操作符的范围和优先度。

    正则表达式全集:

    最好借助一定的正则表达式测试工具,推荐下面这个:

    站长之家-正则表达式测试工具

  • 相关阅读:
    Mayan游戏 (codevs 1136)题解
    虫食算 (codevs 1064)题解
    靶形数独 (codevs 1174)题解
    黑白棋游戏 (codevs 2743)题解
    神经网络 (codevs 1088) 题解
    The Rotation Game (POJ 2286) 题解
    倒水问题 (codevs 1226) 题解
    银河英雄传说 (codevs 1540) 题解
    生日蛋糕 (codevs 1710) 题解
    第一章 1.11 高阶函数
  • 原文地址:https://www.cnblogs.com/guohaojintian/p/6602595.html
Copyright © 2020-2023  润新知