上一课的点元字符非常强大,但有时过于强大。例如,如果我们匹配电话号码,我们不想验证字母“(abc) def-ghij”是一个有效号码!
有一种方法可以使用正则表达式 匹配特定字符,方法是在方括号内定义它们。例如,模式[abc]将仅匹配单个a、b 或 c 字母,不匹配其他字母。
下面是几行,我们只想匹配前三个字符串,而不是最后三个字符串。请注意,如果我们使用点,我们无法避免匹配最后三个字符串,但必须使用上面的符号专门定义要匹配的字母。
您可以使用表达式“[cmf]an”仅匹配 'can'、'man' 和 'fan' 而不匹配任何其他行。正如您将在下一课中看到的,您还可以使用反表达式“[^drp]an”来匹配任何以 'an' 结尾但不以 'd'、'r' 或 'p' 开头的三个字母单词。