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

    正则表达式(Regular Expression)


    正则表达式,又称规则表达式

    正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。

    概念

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

    目的

    给定一个正则表达式和另一个字符串,我们可以达到如下的目的:

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

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

    最简单的元字符是点,它能够匹配任何单个字符(注意不包括换行符)。假定有个文件test.txt包含以下几行内容:

    he is arat
    he is in a rut
    the food is Rotten
    I like root beer

    正则表达式r.t匹配一个r接着任何一个字符再接着一个t。
    所以它将匹配文件中的rat和rut,
    而不能匹配Rotten中的Rot,因为正则表达式是大小写敏感的。
    要想同时匹配大写和小写字母,应该使用字符区间元字符(方括号)。
    正则表达式[Rr]能够同时匹配R和r。

    所以,要想匹配一个大写或者小写的r接着任何一个字符再接着一个t就要使用这个表达式:[Rr].t。


    匹配行首的字符要使用抑扬字符(^)
    例如,想找到text.txt中行首"he"打头的行,你可能会先用简单表达式he,但是这会匹配第三行的the,所以要使用正则表达式^he,它只匹配在行首出现的he


    当抑扬字符(^)出方括号中时,它表示“排除”,例如要匹配he ,但是排除前面是t or s的情形(也就是the和she),可以使用:[^st]he

     

    可以使用方括号来指定多个字符区间。
    例如正则表达式[A-Za-z]匹配任何字母,包括大写和小写的


    想匹配所有10和100的实例而排除1和 1000,可以使用:10{1,2},这个正则表达式匹配数字1后面跟着1或者2个0的模式。

     

    .
    [ ]
    ^
    $
    四个字符是所有语言都支持的正则表达式

    朝闻道
  • 相关阅读:
    python学习Day21--内置函数、反射
    python学习Day20--属性、类方法和静态方法+类多继承算法补充
    python学习Day19--面向对象的三大特性
    python学习Day18--继承
    python学习Day17--名称空间
    python学习Day16--面向对象
    python学习Day15--递归与二分查找
    python学习Day14--内置函数
    c# 深克隆与浅克隆
    css test-align 和 margin 居中什么区别
  • 原文地址:https://www.cnblogs.com/wander-clouds/p/8477640.html
Copyright © 2011-2022 走看看