为什么要学习正则表达式?

来看两段代码:

([!^11])@\1

以及:

([!^11]{32})@([!^11]{32})\1

达成的效果如下图所示:

会发现,图一查找到的是连续两个相同的字符(即AA),而图二找到的是相隔两个字符的两个长度为2的字符串(即ABXYAB)。通过这两个例子,可以一窥正则表达式的强大之处。

正式开始前,我们先定义一对术语:

  • 通配符指的是您可以用来代表一个或多个字符的键盘字符。例如,星号 (*) 通常代表一个或多个字符,问号 (?) 通常代表单个字符。
  • 正则表达式指的是您可以用来查找和替换文本模式的文本字符和通配符组合。文本字符指的是必须存在于目标文本字符串中的文本。通配符指的是目标字符串中可能各不相同的文本。