JS中的正则表达式入门(3)

来源:未知 责任编辑:责任编辑 发表时间:2015-09-16 20:04 点击:

如果你也实验了的话,会发现返回的结果后面多出来一个“,b“,这是()内的b|c所匹配的内容。我们在正则表达式内括号里写的内容会被认为是子正则表达式,所匹配的结果也会被记录下来供后面使用。我们暂且不去理会这个特性。

字符集合[abc]
[abc]表示a或者b或者c中的任意一个字符。例如:

reg = /^[abc]/;
str='bbs.blueidea.com';
execReg(reg,str);返回结果是b。

reg = /^[abc]/;
str='test';
execReg(reg,str);这次的结果就是null了。

我们在字字符集合中使用如下的表示方式:[a-z],[A-Z],[0-9],分别表示小写字母,大写字母,数字。例如:

reg =  /^[a-zA-Z][a-zA-Z0-9_]+/;
str='test';
execReg(reg,str);结果是整个test,正则的意思是开头必须是英文字母,后面可以是英文字母或者数字以及下划线。


反字符集合[^abc]
^在正则表达式开始部分的时候表示开头的意思,例如/^c/表示开头是c;但是在字符集和中,它表示的是类似“非“的意思,例如[^abc]就表示不能是a,b或者c中的任何一个。例如:

reg = /[^abc]/;
str='blueidea';
execReg(reg,str);返回的结果是l,因为它是第一个非abc的字符(即第一个b没有匹配)。同样:

reg = /[^abc]/;
str='cainiao';
execReg(reg,str);则返回i,前两个字符都是[abc]集合中的。

由此我们可知:[^0-9]表示非数字,[^a-z]表示非小写字母,一次类推。

边界与非边界
\b表示的边界的意思,也就是说,只有字符串的开头和结尾才算数。例如/\bc/就表示字符串开始的c或者是结尾的c。看下面的例子:

reg = /\bc/;
str='cainiao';
execReg(reg,str);返回结果c。匹配到了左边界的c字符。

reg = /\bc/;
str='维生素c';
execReg(reg,str);仍然返回c,不过这次返回的是右侧边界的c。

reg = /\bc/;
str='bcb';
execReg(reg,str);这次匹配失败,因为bcb字符串中的c被夹在中间,既不在左边界也不再右边界。

与\b对应\B表示非边界。例如:

reg = /\Bc/;
str='bcb';
execReg(reg,str);这次会成功地匹配到bcb中的c,。然而


reg = /\Bc/;
str='cainiao';
execReg(reg,str);则会返回null。因为\B告诉正则,只匹配非边界的c。


数字与非数字
\d表示数字的意思,相反,\D表示非数字。例如:

reg = /\d/;
str='cainiao8';
execReg(reg,str);返回的匹配结果为8,因为它是第一个数字字符。


reg = /\D/;
str='cainiao8';
execReg(reg,str);返回c,第一个非数字字符。


空白
\f匹配换页符,\n匹配换行符,\r匹配回车,\t匹配制表符,\v匹配垂直制表符。

\s匹配单个空格,等同于[\f\n\r\t\v]。例如:

reg = /\s.+/;
str='This is a test  String.';
execReg(reg,str);返回“is a test String.”,正则的意思是匹配第一个空格以及其后的所有非换行字符。

同样,\S表示非空格字符。

reg = /\S+/;
str='This is a test  String.';
execReg(reg,str);匹配结果为This,当遇到第一个空格之后,正则就停止匹配了。


单词字符
\w表示单词字符,等同于字符集合[a-zA-Z0-9_]。例如:


reg = /\w+/;
str='blueidea';
execReg(reg,str);返回完整的blueidea字符串,因为所有字符都是单词字符。

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • Gb2312转utf-8编码的方法(vbs+js)
  • 如何使用Ajax技术开发Web应用程序(1)
  • js跳转路径问题
  • JavaScript模仿桌面窗口
  • 2011年度最佳 jQuery 插件
  • jquery学习笔记---jqGrid学习笔记 完整整理
  • 我知道的JavaScript -- 设计模式(桥接)应用之 – 验证器
  • 运用JavaScript构建你的第一个Metro式应用程序(on Windows
  • 我是如何去了解jquery的(六),案例之幻灯片轮换
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1