计算机程序的思维逻辑 (88) - 正则表达式 (上)

Posted 老马说编程

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机程序的思维逻辑 (88) - 正则表达式 (上)相关的知识,希望对你有一定的参考价值。

本系列文章经补充和完善,已修订整理成书《Java编程的逻辑》,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http://item.jd.com/12299018.html


上节我们提到了正则表达式,它提升了文本处理的表达能力,本节就来讨论正则表达式,它是什么?有什么用?各种特殊字符都是什么含义?如何用Java借助正则表达式处理文本?都有哪些常用正则表达式?由于内容较多,我们分为三节进行探讨,本节先简要探讨正则表达式的语法。

正则表达式是一串字符,它描述了一个文本模式,利用它可以方便的处理文本,包括文本的查找、替换、验证、切分等。

正则表达式中的字符有两类,一类是普通字符,就是匹配字符本身,另一类是元字符,这些字符有特殊含义,这些元字符及其特殊含义就构成了正则表达式的语法。

正则表达式有一个比较长的历史,各种与文本处理有关的工具、编辑器和系统都支持正则表达式,大部分编程语言也都支持正则表达式。虽然都叫正则表达式,但由于历史原因,不同语言、系统和工具的语法不太一样,本文主要针对Java语言,其他语言可能有所差别。

下面,我们就来简要介绍正则表达式的语法,我们先分为以下部分分别介绍:

  • 单个字符
  • 字符组
  • 量词
  • 分组
  • 特殊边界匹配
  • 环视边界匹配

最后针对转义、匹配模式和各种语法进行总结。

单个字符

大部分的单个字符就是用字符本身表示的,比如字符\'0\',\'3\',\'a\',\'马\'等,但有一些单个字符使用多个字符表示,这些字符都以斜杠\'\\\'开头,比如: