• 正则表达式的笔记


    一、正则表达式基本要素

      1、字符类

    . 匹配任意一个字符,如:succ.ss可以匹配到success(匹配除 "
    " 之外的任何单个字符。要匹配包括 '
    ' 在内的任何字符,请使用象 '[.
    ]' 的模式。)
    [] 匹配[]内任意一个字符,如:98fe[abcd]bd1可以匹配到98feabd1、98febbd1、98fecbd1、98fedbd1
    ^ []里,以^开头的,匹配除括号内字符的其他字符,如:rt[^nmkk]Code可以匹配到rtaCode、rtbCode,反正就是第3个字符不能为nmkk中的任何一个
    - 表示一个[]里的某个范围,如:小写26个字母[a-z]、个位数字[0-9]

      2、数量限定符

    ? 它前面的字符应该匹配0次或一次,如:s? 可以匹配到一个s或0个s
    
    + 它前面的字符应匹配一次或多次,如:s+ 可以匹配到一个s或多个s
    
    * 它前面的字符应匹配0次或多次,如:s*可以匹配到0个或多个s
    
    {n} 它前面的字符应匹配n次,如:s{4}精确匹配4个s ;[2-8][0-9]{4}精确匹配一个五位数,万位是2-8的数字
    
    {n,} 它前面的字符至少匹配n次,如:[1-9][0-9]{3,}匹配到的数字至少是4位数的,可以大于4位数
    
    {n,m} 它前面的字符至少匹配n次,最多m次,如:[0-9]{1,3}.[0-9]
    
    {1,3}.[0-9]{1,3}.[0-9]{1,3}匹配一个IP地址(代表的是转义符)

      3、位置限定符

    ^ 匹配文本里某一行的行首位置,如:^auto 匹配文本内的以auto开头的行首
    $ 匹配文本里某一行末尾的位置,如:true$ 匹配到以true结尾的行尾
    < 匹配文本里某个以so开头的单词,如:<so 匹配到sorry,匹配不到suso
    > 匹配文本里某个以ss结尾的单词,如:ss> 匹配到success,匹配不到ssus
     匹配一个单词边界,也就是指单词和空格间的位置。例如, 'er' 可以匹配"never" 中的 'er',但不能匹配 "verb" 中的 'er'。,[a-zA-Z]{4}匹配文本里的四个字母的单词
    B 匹配非单词边界。如:'erB' 能匹配 "verb" 中的 'er',但不能匹配 "never" 中的 'er'。

      4、特殊符号

     转义符,普通字符转义为特殊字符,特殊字符转义为普通字符。普通字符 < .  需要转义,写成 < . \
    
    () 将表达式的一部分括起来,组成一个单元,对整个单元使用数量限定符,如:匹配IP地址 ([0-9]{3}.){3}[0-9]{1,3}
    
    | 连接两个子表达式,表示或的意思,如:brand(Detail|sorry)匹配brandDetail或者brandsorry(注:| 两边不要有空格)
    
    d 匹配所有数字字符,相当于[0-9]
    
    D 匹配非数字字符,相当于[^0-9]
    
    w 匹配数字字母下划线,相当于[a-zA-Z0-9]
    
    W 匹配非数字字母下划线,相当于[^a-zA-Z0-9]、[^w]
    
    s 匹配任意空白字符,等价于 [	
    
    f]。[
    	
    f](
    代表回车,	水平制表,
    换行,f换页)
    
    S 匹配任何非空白字符。等价于 [^ f
    
    	v]。(不包括空格)





  • 相关阅读:
    IDEA取消自动更新
    string常见面试题
    IDEA不能运行main方法
    GIT: Incorrect username or password
    淘宝技术架构演进之路
    javac编译原理之生死人肉白骨
    this string "--" is not permitted within comments ,(mapper文件)注释中不能使用--
    IE下input的type=file需要双击触发
    解决问题思路
    python
  • 原文地址:https://www.cnblogs.com/will-wu/p/15175367.html
Copyright © 2020-2023  润新知