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

    正则表达式:搜索或检索一个字符串里面的数据


    1.内容表示:
    (1)[]
    [1234]表示一个不连续数1或2或3或4,通俗的讲就是一个中括号代表提取一个数据,[1234]只能在1,2,3,4中选一个
    [0-9]表示一个连续数0或1或2或3或4或5或6或7或8或9,通俗的讲就是一个中括号代表提取一个数据,[0-9]可以在0,1,2,3,4,5,6,7,8,9选一个
    举例:abcd123abc1234
    a.提取数据:[123]
    结果:1 2 3 1 2 3 一共6个结果
    b.提取数据:[0-9]
    结果:1 2 3 1 2 3 4 一共7个结果
    c.提取数据:[abc][0-9][0-9][0-9]
    结果:d123 c123 一共2个结果
    d.提取数据:[abc][0-9][12][123][4]
    结果:c1234 一共1个结果
    (2).
    英文句号点(.)表示任意字符
    举例:abcd123abc1234
    a.提取数据:[123].[3][abcd]b
    结果:123ab 一共1个结果


    2.数量的表示:
    (1){}
    花括号里面的数字表示数量
    举例:abcd123abc1234
    a.提取数据:[123]{2}
    结果:12 12 一共2个结果
    b.提取数据:[123]{2}[abc]{2}c
    结果:23abc 一共1个结果
    c.提取数据:[123].{3}[bc]1
    结果:23abc1 一共1个结果
    (2)+
    加号表示一个或者多个
    举例:abcd123abc1234
    a.提取数据:[ab][abcd].+[12]+
    结果:abcd123abc12 一共1个结果
    b.提取数据:[123]+[abc]
    结果:123a 一共1个结果
    (3)*
    星号表示0个1个或多个
    举例:abcd123abc1234
    a.提取数据:[123]*[abc]
    结果:a b c 123a b c 一共6个结果
    (4)无
    无具体表示的数量形式数量默认为1


    3.贪婪匹配:
    举例:abcd123abc1234
    a.提取数据:[abcd]{2}.*?c
    b.提取数据:[abcd]{2}.*c
    a提取结果:abc abc 一共2个结果
    b提取结果:abcd123abc 一共1个结果

    可以明显看到加了贪婪匹配的和没有加的出现了不同,问题就出在*在表示0个1个或多个的时候遵循的原则是就长不就短,
    所以当有几个结果的时候它选择了最长的,贪婪匹配会改变它的规则直接选择最短的结果。

  • 相关阅读:
    ESlint 格式化代码 备忘
    css 点击样式,水波纹(记录备用)
    RabbitMq 报错记录
    sql For xml path('') 备忘
    .net core Area独立成单独的dll文件
    刷shipid 简便方法
    实际操作--create DB link
    POS VB
    设置PL/SQL 快捷键
    要开始学习C#
  • 原文地址:https://www.cnblogs.com/1527275083gj/p/15024562.html
Copyright © 2011-2022 走看看