• 正则表达式内容和涵义


    基本模式匹配

    ^once  // 表示以once开头的字符串
    "once upon a time"    // 匹配,
    "There once was a man from NewYork"   //不匹配

    ^字符用来表示该模式只匹配那些以   ^xxx   开头的字符串。

    $ 符号用来匹配那些以给定模式结尾的字符串。

    bucket$   // 表示,以bucket结束的字符串
    “Who kept all of this cash in a bucket"  // 匹配,
    "buckets"   // 不匹配。

    字符 ^ 和 $ 同时使用时,表示精确匹配(字符串与模式一样)

    如果一个模式不包括 ^ 和 $,那么它与任何包含该模式的字符串匹配。

    ^bucket$   // 只匹配字符串 "bucket"
    
    
    once  // 表示任何包含该模式的字符串匹配
    There once was a man from NewYork // 匹配
    Who kept all of his cash in a bucket. // 匹配
    // 这些也只表示一个字符,
    [a-z] // 匹配所有的小写字母 [A-Z] // 匹配所有的大写字母 [a-zA-Z] // 匹配所有的字母 [0-9] // 匹配所有的数字 [0-9\.\-] // 匹配所有的数字,句号和减号 [ \f\r\t\n] // 匹配所有的白字符

    要匹配一个由一个小写字母和一位数字组成的字符串

    ^[a-z][0-9]$   // 表示以一个小子字母和一位数字组成的字符串

    当在一组方括号里使用 ^ 时,它表示""或"排除"的意思,常常用来剔除某个字符。

    ^[^0-9][0-9]$   // 表示以第一个字符不是数字和一个数子组成的字符串
    [^a-z] //除了小写字母以外的所有字符 
    [^\\\/\^] //除了(\)(/)(^)之外的所有字符 
    [^\"\'] //除了双引号(")和单引号(')之外的所有字符
    特殊字符 .(点,句号)在正则表达式中用来表示除了"新行"之外的所有字符
    .{2}   // 所有的两个字符
    
    //  一个数字 {x} 的意思是前面的字符或字符簇只出现x次  
    ^a{4}$ // 以a开头的字符,且连续只出现4次。
    
    // 一个数字加逗号 {x,} 的意思是前面的内容出现x或更多的次数 
    ^a{2,}  // 以a开头的字符,连续出现2次,或连续2次以上。
    
    // 两个数字用逗号分隔的数字 {x,y} 表示 前面的内容至少出现x次,但不超过y次。
    
    ^a{1,3} // 以a开头的字符,至少出现1次,且不超过3次。
    {n}:
    // n是一个非负整数。匹配确定的n次。例如,“o{2}”不能匹配“Bob”中的“o”,但是能匹配“food”中的两个o。
    
    {n,}
    // n是一个非负整数。至少匹配n次。例如,“o{2,}”不能匹配“Bob”中的“o”,但能匹配“foooood”中的所有o。“o{1,}”等价于“o+”。“o{0,}”则等价于“o*”
    
    {n,m}
    // m和n均为非负整数,其中n<=m。最少匹配n次且最多匹配m次。例如,“o{1,3}”将匹配“fooooood”中的前三个o为一组,后三个o为一组。“o{0,1}”等价于“o?”。请注意在逗号和两个数之间不能有空格。
    
    (pattern)
    //匹配pattern并获取这一匹配。所获取的匹配可以从产生的Matches集合得到,在VBScript中使用SubMatches集合,在JScript中则使用$0…$9属性。要匹配圆括号字符,请使用“\(”或“\)”。
    
    \d
    // 匹配一个数字字符。等价于[0-9]。grep 要加上-P,perl正则支持
    
    \D
    // 匹配一个非数字字符。等价于[^0-9]。grep要加上-P,perl正则支持
    
    \s
    // 匹配任何不可见字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]。
    
    \S
    // 匹配任何可见字符。等价于[^ \f\n\r\t\v]。
    
    \w  
    // 匹配包括下划线的任何单词字符。类似但不等价于“[A-Za-z0-9_]”,这里的"单词"字符使用Unicode字符集。
    
    \W
    // 匹配任何非单词字符。等价于“[^A-Za-z0-9_]”。

    确定重复出现

    特殊字符 * 与 {0,} 是相等的 ,表示 0 个或多个前面的内容 
    
    特殊字符 ? 与 {0,1} 是相等的 ,表示0个或1个前面的内容
    
    字符 + 与 {1,} 是相等的,表示 1 个或多个前面的内容 
    ^[a-zA-Z0-9_]+$      // 所有包含一个以上的字母、数字或下划线的字符串 
    ^[1-9][0-9]*$        // 所有的正整数 
    ^\-?[0-9]+$          // 所有的整数 
    ^[-]?[0-9]+(\.[0-9]+)?$ // 所有的浮点数
  • 相关阅读:
    第6章 函数 习题
    2. VS使用---HelloWorld
    [计蒜客]小 B 的题目
    [计蒜客] n 子棋
    [博弈]Euclid's Game
    [博弈]A Funny Game
    [博弈]Being a Good Boy in Spring Festival
    [组合数学]Magic 12 Months(坑)
    [PTA]L2-031 深入虎穴 (25 分)
    [天梯赛]L2-029 特立独行的幸福
  • 原文地址:https://www.cnblogs.com/chuanmin/p/16248238.html
Copyright © 2020-2023  润新知