Loading... 各位同学们大家好!这节课我们将继续学习正则表达式教程,这节课我们要学习的是在正则表达式中**中括号**和**连字符** 的使用。 `[]` **表示字符集,在它的内部我们可以写上可能出现的字符或者字符集,匹配的时候就只会从它里面取。** `-` **连字符表示字符集的连接,如果不连接字符集就表示它本身,这个后面咱们再细讲。** **举例说明:** 源文本:simultan345eously123456 来我们可以打开精易编程助手测试一下。 1. `[xyz]` 形式 ![zhengze6-1.jpg](http://static.fox-9.com/uploads/2021/08/06/zhengze6-1.jpg!webp) 请注意,写在中括号里面的内容只能匹配一个字符!!!所以这里,写了 abc 的意思不是匹配“abc”连续这样的字符串,而是匹配一个字符,不是“a”就是“b”就是“c”,其中之一,如果找不到则匹配不到,如果找得到就匹配得到。 这样的写法是对源文本的每一个字符进行检测,如果匹配到,出来的结果都是单个字符的结果。如果想要连续符合的字符合成在一个结果里怎么办?很简答写 `[abc]+` 即可,我们的中括号是可以结合我们学过的 `*` `?` `+` 来使用的,表示前面这个中括号匹配到的字符会出现多少次。 2. `[0-9]``[a-z]``[A-Z]` 形式 当我们要匹配所有数字,所有小写字母,所有大写字母的时候,上面的写法就派上用场了,头和尾的字符使用连字符 `-` 连接,表示从哪个到哪个。如果不是从 a 到 z 呢,比如要取从 a 到 g 的字母呢?就写 `[a-g]` 即可。 这几个可以合在一起写,比如 `[0-9a-zA-Z]`,先后顺序随意,你喜欢就好。另外提的一个是,`[0-9]` 的写法和 `\d` 完全相同,是等价的。都能匹配所有的单个数字 0 到 9。 ![zhengze6-2.jpg](http://static.fox-9.com/uploads/2021/08/06/zhengze6-2.jpg!webp) 当然了,后面可以任意加上你要的星号,问号或者加号。 3. `[-]` 形式 连字符在中括号里面单独使用,左右没有字符什么的,表示匹配连字符本身,当然,这也可以和前面说过的一起使用。 比如 `[-a-z]` 就表示匹配所有小写字母以及连字符。你应该拆成两半来看,`-` 和 `a-z`,正则表达式运行的时候会有所区别对待的。 比如 `[13-6]` 的意思不是从 13 到 6 的所有数字,请记住在正则中这里匹配的都是单个数字,因此它的意思是,匹配所有的 `1`,然后匹配所有的数字 `3-6`。 如图: ![zhengze6-3.jpg](http://static.fox-9.com/uploads/2021/08/06/zhengze6-3.jpg!webp) ![zhengze6-4.jpg](http://static.fox-9.com/uploads/2021/08/06/zhengze6-4.jpg!webp) 好了以上就是中括号和连字符的基本使用方法,中括号,连字符可以和其他的一些符号结合使用,在需要匹配字符集的时候可以用字符集。 以下是我们的视频教程: **在线观看:** http://v.youku.com/v_show/id_XMjcyMzEzMTk2MA==.html **高清源文件下载:** <div class="hideContent">该部分仅登录用户可见</div> 感谢大家的收看,我们下期再见! 最后修改:2021 年 08 月 06 日 © 允许规范转载 赞 赠人玫瑰,手留余香