zoukankan      html  css  js  c++  java
  • 第一章——正则表达式(特殊符号和字符)

    特殊符号和字符

    常见的正则表达式符号和特殊字符(元字符)


    择一匹配的管道符号"|"

    表示从多个模式中选择其一的操作,它用于分割不同的正则表达式。
    ...|str_i|str_i+1|str_i+2|...表示在这几个字符串中选择其一

    匹配任意字符.
    这个符号可以匹配除了换行符 之外的任何字符

    Python正则表达式中的编译标记S或者DOTALL可以推翻这个限制,使得点号.可以匹配任意字符。

    通过反斜线转义句点符号的功能,也就是.可以显式表达句点符号本身。

    从字符串起始^或者A或者结尾$或者或者边界或者中间B匹配

    ^From表示以From开头的任意字符串
    From$表示以From结尾的任意字符串
    ^From$表示From这个字符串
    From表示任何以From开头的字符串
    From表示任何以From结尾的字符串
    From表示From这个字符串
    BFrom表示包含但是不以From作为起始的字符串

    创建字符集[str]:表示方括号内字符集str所包含的任一字符
    b[ae]t[1p]表示一个包含四个字符的字符串,第一个是b,第二个是a或者e,第三个是t,第四个是1或者p

    限定范围[-]与否定[^]
    [0-9]表示0—9之间的任一字符(包含首尾)
    ["-a]表示ASCII表中位于"和a之间的任一字符(包含首位)
    [^abc]表示一个不包含abc内的任一字符的字符

    使用闭包操作符实现存在性和频数匹配*+?{}
    *:匹配其左边的正则表达式出现零次或者多次的情况(在计算机编程语言和编译原理中称该操作为Kleene闭包)
    +:匹配其左边的正则表达式出现一次或者多次的情况(也叫做正闭包操作符)
    ?:匹配其左边的正则表达式出现零次或者一次的情况
    {}:里面是一个数N或者由一个逗号分隔的两个数M,N,前者表示匹配左边的正则表达式N次,后者表示匹配左边的正则表达式M~N次

    [dn]ot?表示do、dot、no、not中的一个
    </?[^>]+>匹配全部有效的(和无效的)HTML标签
    表示字符集的特殊字符
    d表示任何
    D
    w
    W
    s
    S

    正则表达式和python语言

    一些正则表达式示例

    相关练习

  • 相关阅读:
    hihocoder 1049 后序遍历
    hihocoder 1310 岛屿
    Leetcode 63. Unique Paths II
    Leetcode 62. Unique Paths
    Leetcode 70. Climbing Stairs
    poj 3544 Journey with Pigs
    Leetcode 338. Counting Bits
    Leetcode 136. Single Number
    Leetcode 342. Power of Four
    Leetcode 299. Bulls and Cows
  • 原文地址:https://www.cnblogs.com/zjx-pku/p/13306859.html
Copyright © 2011-2022 走看看