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

    []

    [] 表示匹配中括号中的任意一个字母 
    如[Pp] 能匹配到P或p ,[Jj]ava能匹配到Java或java
    
    更深一步 如果我想匹配9876543210 可以写成[0123456789] 这样就能匹配所有数字
    但比较啊麻烦 可以写成[0-9] -表示区间的意思
    同理 想匹配所有大小写字母可写成[a-zA-Z]
    
    那么特殊字符怎么匹配呢 如要匹配- 可以用转译符  如[-]匹配-

    ^

    ^在[]中表示不匹配的值
    如匹配 第一个字爱 第二个字不能为‘你’ 的字
    爱[^你] 
    
    ^不在[]中表示匹配开头
    如^ab 能匹配ab 但bab中的ab匹配不到 只能匹配a开头的
    
    
    同上$表示匹配结束
    如ab$ 能匹配到aab中的ab 匹配不到abb

    快捷写法

    匹配全数字/字母 写一大堆比较麻烦 有快捷方式
    d 匹配全数字
    w 匹配全字母
    s 匹配空白字符
     匹配边界 如abc只能匹配到完整单词abc abcd匹配不到
    
    还有非的快捷方式
    如d是匹配全数字 D是匹配非数字 改成大写 以上都同理
    
    
    +表示匹配1到无数个 相当于{1,}
    *表示匹配0到无数个 相当于{0,} 也很常用
    
     

    . ? {}

    .表示匹配任意字符(换行符
    不能匹配)  比较常用
    如匹配任意字符后为ar的可以写 .ar
    
    
    ?表示可匹配也可不匹配
    如想同时匹配hai和hi可以写成 ha?i
    
    
    {}表示重复次数
    如d{3}即ddd 匹配3位的数字
    23 2345匹配不到 234能匹配到
    
    d{3,4}表示匹配区间 若数字为1234则有先匹配4位(1234)
    d{3,4}?也是匹配区间 若数字为1234则有先匹配3位(123)

    进阶还需学习 分组 断言 

  • 相关阅读:
    topcoder srm 681 div1
    topcoder srm 683 div1
    topcoder srm 684 div1
    topcoder srm 715 div1
    topcoder srm 685 div1
    topcoder srm 687 div1
    topcoder srm 688 div1
    topcoder srm 689 div1
    topcoder srm 686 div1
    topcoder srm 690 div1 -3
  • 原文地址:https://www.cnblogs.com/hbhb/p/15212280.html
Copyright © 2011-2022 走看看