zoukankan      html  css  js  c++  java
  • 正则表达式

     什么是正则表达式?

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

    特点:

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

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

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

    用来做什么?

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

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

    基本语法:

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

    选择

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

    数量限定

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

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

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

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

    匹配

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

    正则表达式全集:

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

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

  • 相关阅读:
    2017 ACM/ICPC Asia Regional Qingdao Online Solution
    2017ACM/ICPC Guangxi Invitational Solution
    POJ
    The Maximum Unreachable Node Set 【17南宁区域赛】 【二分匹配】
    17 南宁区域赛 F
    17南宁区域赛 I
    17南宁区域赛 J
    CodeForces
    c/c++ 输入输出技巧
    ZOJ
  • 原文地址:https://www.cnblogs.com/guohaojintian/p/6602595.html
Copyright © 2011-2022 走看看