在某些情况下,我们可能还知道有些特定的字符是我们不想匹配的。例如,我们可能只想匹配不是来自区号 650 的电话号码。
为了表达这种排除的逻辑,我们可以使用与之前类似的表达式,但加上 ^(脱字符)来表示排除某些特定字符。比如,正则表达式 [^abc] 表示匹配除了 a、b、c 以外的任意单个字符。
在下面这些字符串中,请尝试写出一个正则模式,只匹配那些活的动物(如 hog、dog,但不匹配 bog)。注意,这类模式在多数情况下也可以用上一课的技术写出来——这两种方法其实是“同一个硬币的两面”。通过掌握这两种方式,你可以在编写自己的正则模式时,根据哪种更容易理解或更简洁来做选择。