1.正则表达式-入门

    前言:今天先分享正则表达式的基础元字符,后续会分享正则表达式的子表达式,回溯引用,前后查找,嵌入条件,,全部分享完成之后,会尝试着去分享一些例子与拆分介绍。如果文字描述有问题可以评论指出,如果概念很模糊,可以加我微信,我会尽量解答你的疑惑。

正则表达式的定义

正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。

正则表达式的字符区间

    []这个元符号可以定义一个字符集合,字符集合能够与在该集合里的字符区间的字符相匹配。字符区间可以使用 - 连字符来定义范围。

  • A-Z 匹配从A到Z的所有大写字母

  • a-z 匹配从a到z的所有小写字母

  • A-Y 匹配从A到Y的所有大写字母

  • A-z 匹配从ASCII字符A到ASCII字符z的所有字母

  • -只能在[]间出现,出现在[]外面,相等于匹配-

正则表达式取非

  • [^0-9] 匹配非数字

  • [^a-zA-Z] 匹配非英文

  • [^\S]  匹配非空白符

正则表达式的空白元字符

  • [\b]    回退并删除一个字符(backspace)

  • \f       换页符

  • \n    换行符

  • \r     回车符

  • \v     垂直制表符

  • \t     制表符tab键

注:\r\n是windows使用的文本行结束标签,\n是unix/linux的文本行结束标签

正则表达式的其他元字符

  • \d 匹配任何一个数字字符

  • \D 匹配任何一个非数字字符

  • \w 匹配任何一个字母数字字符(大小写)或者下划线字

    符=[0-9a-zA-Z_]

  • \W 匹配任何一个非字母数字或非下划线字符

           =[^0-9a-zA- Z_]

  • \s 匹配任何一个空白字符=[\f\r\n\t\v]

  • \S 匹配任何一个非空白字符=[^\f\n\r\t\v]

正则表达式匹配字符

  • + 匹配一个或多个字符

  • * 匹配零个或者多个,可有可无,可多可少

  • ? 匹配零个或者一个字符 举例:http与https

  • {}      可以设定匹配字符的次数

  • {3} 匹配三次

  • {4,8} 匹配最少4次,最多8次

  • {3,} 匹配重复最少3次

正则表达式的贪婪型字符与懒惰型字符

            * + 为贪婪性元字符,在进行匹配时,行为模式是多多益善而不是适可而止的,会尽可能的从一段文本的开头一直匹配到文本的末尾,而不是从这段文本的开头匹配到碰到的第一个匹配是为止。

懒惰型字符相反。

       贪婪型字符         懒惰型字符
           *            *?
            +            +?
           {n,}            {n,}?            

正则表达式边界字符

\w相匹配的字符叫做单词边界,\W相匹配的叫做非单词边界

\b单词边界字符,例如:至匹配 at 而不匹配 what,可以使用 --\bat\b

\B匹配一个前后都不是单词边界的连字符(-),nine-digit不能匹配,color - coded的连字符(-)可以匹配

猜你喜欢

转载自www.cnblogs.com/yangxiaojie/p/10011957.html
今日推荐