Loading... 之前我们学习了许多在正则表达式中的特殊字符,他们包罗万象,可以实现众多内容的匹配,每一个都身含特殊的意义。但是在现实匹配过程中,有的时候我们的源文本可能会碰到这些特殊字符的时候。如果我们直接将这些特殊字符作为正则表达式打上去,就会造成匹配到的内容出错或者正则表达式创建错误。 因此我们在进行匹配这些特殊字符它们本身的时候,有必要进行一下转义,让正则表达式匹配系统能够辨认说直接匹配这些特殊字符。转义符号由此诞生。 --- **转义符号**是什么呢?? **我们先卖一个关子,首先我们先举一个栗子:** 比如我们有这么一个源文本: ```bash **眨着眼,月儿在歌唱,++有饭吃 ``` 这段源文本中有两个在正则表达式中的特殊字符,一个是 `*`,一个是 `+`,我们的任务是将这句话匹配出来。如果我们直接将这个源文本作为正则表达式进行匹配,匹配系统会报错: ![zhengze10-1.jpg](http://static.fox-9.com/uploads/2021/08/07/zhengze10-1.jpg!webp) 为什么呢?因为比如 `*` 号是匹配它前面的字符出现零次或者多次的,而这里,我们的 `*` 号前面还是 `*` 号,而 `*` 号本身代表的又是特殊字符,这样的话,势必会造成正则表达式匹配系统无法识别你写的正则表达式,导致错误。因此,如果我们确切的要匹配这些特殊字符的话,应该使用转义字符来进行。 --- `\` 反斜杠就是转义字符,它表示将后面的一个字符标记为特殊字符或者为字面值。 比如 `\*` 表示匹配 `*` 号。 比如 `\*` 表示匹配 `*` 号。 比如 `\[` 表示匹配左中括号。 比如 `\\` 表示匹配反斜杠本身。 --- 因此我们之前的栗子,正则表达式应该在 `*` 号和 `+` 号的前面加上反斜杠进行转义,才能匹配成功: ![zhengze10-2.jpg](http://static.fox-9.com/uploads/2021/08/07/zhengze10-2.jpg!webp) --- 接下来再举一个栗子加深大家的印象,比如我们有这么一个两行的源文本: ```bash **眨着眼 星星眨着眼 ``` 如果我们写正则表达式:`.*眨着眼` 那么这样的表达式中的 `.*` 就能匹配出 `**` 和 `星星` 来: ![zhengze10-3.jpg](http://static.fox-9.com/uploads/2021/08/07/zhengze10-3.jpg!webp) 而现在我们的要求是,我们只想匹配第一行的文本,第二行我们不需要,该如何进行匹配呢? 这时候我们的转义字符就派上大用场了。这样写:`**眨着眼` 就能只匹配第一行内容了: ![zhengze10-4.jpg](http://static.fox-9.com/uploads/2021/08/07/zhengze10-4.jpg!webp) --- 以上就是我们转义字符的基本使用啦,大家今后在遇到源文本中有正则表达式的特殊字符的时候,请记得用上转义字符来进行匹配。 以下是我们的视频教程: **在线观看:** http://v.youku.com/v_show/id_XMjc1ODk1MDQwMA==.html **高清源文件下载:** <div class="hideContent">该部分仅登录用户可见</div> 感谢大家的收看,我们下期再见! 最后修改:2021 年 08 月 07 日 © 允许规范转载 赞 赠人玫瑰,手留余香