第3课:匹配特定字符

上一课中讲到的点号(.)元字符非常强大,但有时候它又过于强大了。比如在匹配电话号码时,我们并不希望把 "(abc)def-ghij" 这样的字母字符串当作合法的电话号码!

为了解决这种情况,正则表达式提供了一种方式,可以通过方括号 []匹配特定字符。例如,模式 [abc] 只会匹配一个字符 a、b 或 c,而不会匹配其他任何字符。

下面是几行字符串,我们只想匹配前面三行,而不匹配后面三行。注意,如果我们使用点号(.)来匹配,就无法避免匹配后面三行。我们必须像上面所示那样,明确指定允许匹配的字母。

练习 3: 匹配字符
Task Text  
匹配 can To be completed
匹配 man To be completed
匹配 fan To be completed
跳过 dan To be completed
跳过 ran To be completed
跳过 pan To be completed
提示

你可以使用 [cmf]an 来只匹配 'can'、'man' 和 'fan',而不会匹配其他行。正如你将在下一课中看到的,你还可以使用反向表达式 [^drp]an 来匹配任何以 'an' 结尾、但不以 'd'、'r' 或 'p' 开头的三个字母单词。

解决上面的问题以继续到, 或者可以参考答案