• 正则表达式基本语法


    介绍:首先说下正则表达式的语法组成,及各个元素的含义。 





      还有三个字符的用法  补充在后面    

    如上图:

     1.字符 . 表示可以匹配任意字符(除了 ) 即在正则表达式中如果出现了 . 则在要匹配的字符串这个对应位置可以是任意字符

     2.[ ]  中括号中可以放入一个字符串,代表可以匹配这个字符串中的任意一个字符    

             例: [abcd] 即可以匹配abcd中任意一个字符    注:如果要匹配A到Z之间任意一个字符可以写 作[A-Z]  同理[a-z]   [0-9]

    3.d可以匹配任意一个数字 D可以匹配任意一个非数字   同理 s 空白字符指空格、换行、tab   S   w  W

    4. *指匹配前一个字符无限次    

             例:[d]* 指可以匹配0-9 任意一个数字无限次  同理[ ] 中可以放s  w 等     +  ? 用法同 *

    5. {m}匹配前一个字符m次     

     例:[d]{5} 指可以匹配0-9任意一个数字5次   {m,n}指匹配前一个字符m到n次

    6. +?       因为*指匹配前一个字符1次或者是无限次   所以+?指匹配前一个字符1次后  尽可能不匹配前一个字符     *?   ??用法同前

     例:[d]+?     待匹配字符串为45621     匹配结果为4

    7. |  匹配左右任一个表达式   

     例:163|126    待匹配字符串为163则输出结果为163   带匹配字符串为126 则输出结果为126

    8. (ac)将表达式分组   

     例:asd(dd1) 则dd1为一个分组可以单独操作     正则表达式 :[w]{4,10}@(163|126|qq).com     待匹配表达式7855@163.com   待匹配表达式中163可以换为126或者qq

    9.<number>  引用编号为num的分组匹配到的字符串   

     例:正则表达式   :<([w]{4}>)1([w]{3}>)2          待匹配字符串<book>book>fff>fff>  第一个()中的字符串由1 引用   第二个()中的字符串由2引用

    10(?P<name>)  分组起一个别名  (?P=name)引用别名为name的串

     例:正则表达式<(?P<mark>[w]{4}>)[w]+</(?P=mark)      待匹配串   <book>python</book>     给第一个括号内的取名为mark   在第二个括号内引用

    11. ^  匹配字符串开头   即待匹配字符串的开头必须按照正则表达式的要求形式     

          $  匹配字符串结尾 即待匹配字符串的结尾必须按照正则表达式的要求形式

     例:正则表达式   [w]{4,10}@163.com$   待匹配字符串的结尾必须是@163.com不能多 也不能少

    12 A or    指定的字符串必须出现在开头  or  结尾   

         同理加在结尾

    例: 正则表达式  A sdff[w]*   待匹配字符串sdff456ss可以匹配 asdff456ss无法匹配  


    以上



  • 相关阅读:
    (LeetCode 72)Edit Distance
    (LeetCode 53)Maximum Subarray
    (LeetCode 64)Minimum Path Sum
    (算法)关于随机数的生成
    (笔试题)数组A中任意两个相邻元素大小相差1,在其中查找某个数。
    (笔试题)分椰子
    (笔试题)和0交换的排序
    (笔试题)合法字符串
    (笔试题)被3和5整除的数的和
    (笔试题)程序运行时间
  • 原文地址:https://www.cnblogs.com/tonghao/p/8506038.html
Copyright © 2020-2023  润新知