标题 | 正则表达之复杂模式2 |
内容 | 继续前一篇的正则表达之复杂模式 4.非捕获性分组 上次说道反向引用分组,我们称其为捕获性分组.还有一种是非捕获性分组,就是不存储分组结果,这样运算起来很快.非捕获性分组在左(前面一个)括号的后面加上?:即可. 举例说明 第一个是捕获性分组 var foraspcn_str = #abcd; var re = /#(\w{2})/g; re.test(foraspcn_str); alert(regexp.$1);返回ab 比较非捕获性分组 var foraspcn_str = #abcd; var re = /#(?:\w{2})/g; re.test(foraspcn_str); alert(regexp.$1);则返回空. 5前瞻,分为正向前瞻和负向前瞻 前瞻,当某个特定的字符分组出现在另一个字符串之前,才去捕获它. 正向其中南站模式是放在(?=和)之间,正像前瞻检查的是接下来出现的是不是某个特定的字符集. 举例: var str1 = badroom; var str2 = badding; var re = /(bad(?=room))/g; alert(re.test(str1));//输出ture alert(regexp.$1);//输出bad alert(re.test(str2));//输出false 负向前瞻是检查不应该出现的特定字符串,是将模式放在(?!和)之间. var str1 = badroom; var str2 = badding; var re = /(bad(?=room))/g; alert(re.test(str1));//输出false alert(re.test(str2));//输出ture alert(regexp.$1);//输出bad 6边界用于正则表达式中标识模式的位置 边界表 边界 描述 ^ 行开头 $ 行结尾 \b 单词的边界 \b 非单词的边界 举例: var str = this site is http://www.ynpxrz.com.; var re1 = /(\w+)\.$/; var re2 = /^(\w+)/; var re3 = /^(.+?)\b/; var re4 = /\b(\s+?)\b/; re1.test(str); alert(regexp.$1);//输出cn re2.test(str); alert(regexp.$1);//输出this var array1 = re3.match(str); var array2 = re4.match(str); 7.多行模式,急当字符串中有换行符\n,只要在表达式后面加上一个m选项. 第六个和第七个不是很了解...... |
随便看 |
|
在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。