正则表达式-入门

正则表达式-入门

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

正则表达式的定义

正则表达式,又称规则表达式(英语: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的连字符(-)可以匹配


分享到:


相關文章: