分组
var re = /(dog){2}/g;
反向引用
按从左到右的顺序对分组进行编号
1.从RegExp中获得反向引用的值
var s = "#123456789";
var re = /#(\d+)/;
re.test(s);
alert(RegExp.$1); //输出123456789
2.还可以直接在定义分组的表达式中包含反向引用,通过\1,\2```实现
var s = "catcat";
var re = /(dog)\1/;
alert(re.test(s)); //true
3.用在replace()方法中
var s = "1234 5678";
var re = /(\d{4}) (\d{4})/;
var s = s.replace(s, "$2 $1");
候选|
var s1 = "red";
var s2 = "cat";
var re = /(red|cat)/;
re.test(s1); //true
re.test(s2); //true
创建反向引用的分组,称之为捕获型分组;同时还有一种非捕获型分组,他不会创建反向引用。
在较长的正则表达式中,存储反向引用会降低匹配速度。通过使用非捕获型分组,仍然可以拥有与匹配字符串序列同样的能力,而无需存储结果的开销。
var re = /#(?:\d+)/; ——?:创建非捕获性分组
删除页面所有html标签的例子
String.prototype.trimHtml = function(){
var re = /<(?:.|\s)*?>/g;
return this.replace(re, "");
}
前瞻——告诉正则表达式运算器向前看一些字符而不移动其位置
正向前瞻检查的是接下来出现的是不是某个特定字符集——将模式放在(?=和)之间,分组不考虑前瞻的存在。
负向前瞻检查接下来的不应该出现的特定字符集——将模式放在(?!和)之间。
注:JavaScript不支持后瞻,后瞻匹配这种模式:匹配b当且仅当前面没有a
var s1 = "bedroom";
var s2 = "bedding";
var re = /(bed(?=room))/;
alert(re.test(s1)); //true;
alert(RegExp.$1); //bed
alert(re.test(s2)); //false;
var s1 = "bedroom";
var s2 = "bedding";
var re = /(bed(?!room))/;
alert(re.test(s1)); //false
alert(RegExp.$1); //bed
alert(re.test(s2)); //true
边界
^——行开头
$——行结尾
\b——单词的边界
\B——非单词的边界
多行模式
/m
var s = "aaa sss\ndsdds sddd\naaadffs sdfewf";
var r = /(\w+)$/gm;
alert(s.match(r)); //这样可以返回sss,sddd,sdfewf
RegExp对象
属性:global——表示g是否已设置
ignoreCase——表示i是否已设置
lastIndex——整数,代表下次匹配将会从哪个字符位置开始(只有使用exec()或test()函数时才填入,否则为0)
multiline——表示m是否已设置
source——正则表达式的源字符串形式。/[ba]*/的source将返回"[ba]*"
静态属性:
长 名 |
短 名 |
描 述 |
input |
$_ |
最后用于匹配的字符串(传递给exec()或test()的字符串) |
lastMatch |
$& |
最后匹配的字符 |
lastParen |
$+ |
最后匹配的分组 |
lastContext |
$` |
在上次匹配的前面的子串 |
multiline |
$* |
用于指定是否所有的表达式都使用多行模式的布尔值 |
rightContext |
$' |
在上次匹配之后的子串 |
分享到:
相关推荐
js正则学习,详细分析出正则,常见的正则 表达式
### JS正则表达式基础学习知识点详解 #### 正则表达式概述 正则表达式是一种强大的文本处理工具,能够帮助我们完成各种复杂的字符串搜索、替换等操作。在JavaScript中,正则表达式广泛应用于数据验证、文本处理等多...
js正则 基于js正则匹配实现的物流地址智能识别 智能识别地址 例如:小埋13000000000广东省广州市天河区体育西路xx号 一键解析地址为: 收货人:小埋 电话:1300000000 省市区:广东省广州市天河区 地址:体育西路...
JavaScript正则表达式是编程语言中的一个重要组成部分,用于处理文本模式匹配和字符串操作。这篇博客“javascript正则表达式综合练习”可能是一个实践教程或示例集合,旨在帮助开发者提升在JavaScript中使用正则...
这篇学习笔记将深入探讨JavaScript正则表达式的概念、语法和实际应用。 一、正则表达式基础 1. 创建正则表达式: - 字面量表示法:`/pattern/flags` - 构造函数:`new RegExp('pattern', 'flags')` 2. 常见的...
本书从字符匹配、位置匹配、括号的作用、回溯法原理、拆分、构建和编程等方面深入讲解了JavaScript正则表达式的相关知识,适合需要进行字符串匹配、提取、验证等操作的读者学习。 第1章介绍了正则表达式字符匹配的...
在JavaScript(JS)中,正则表达式是一种强大的文本处理工具,用于匹配、查找、替换等操作。在“js正则练习-账号密码邮箱匹配”的场景中,我们需要编写正则表达式来验证用户输入的账号、密码和邮箱是否符合特定的...
总的来说,JavaScript正则表达式是一门深奥但强大的技术,通过学习和实践,我们可以更有效地处理和操纵字符串。这些资料将提供丰富的学习材料,帮助开发者提升在文本处理方面的能力。无论是初学者还是经验丰富的...
以上内容涵盖了JavaScript正则表达式的基础和进阶知识点,对于理解和使用JavaScript正则表达式进行文本处理和验证等任务非常有帮助。通过深入学习和实践,你可以掌握这一强大的工具,提升你的编程技能。
精通JS正则表达式的知识点详解 ...总之,精通JavaScript正则表达式不仅能够提高字符串处理的能力,还能让代码更加高效和优雅。通过对正则表达式的学习和实践,开发者可以轻松地解决各种字符串操作问题,提升编程效率。
JavaScript正则表达式学习,PPT教程. 30分钟让你学会使用正刚表达式
JavaScript正则表达式是用于匹配字符串模式的强大工具。在验证邮箱和手机号码时,我们需要创建符合特定规则的正则表达式。对于邮箱验证,通常的正则表达式如下: ```javascript var emailRegex = /^[a-zA-Z0-9._%...
**Java与JavaScript正则表达式详解** 在编程领域,正则表达式(Regular Expression)是一种强大的文本处理工具,尤其在处理字符串匹配、查找、替换和提取等任务时,它的功能尤为强大。Java和JavaScript虽然源自不同...
JavaScript正则表达式是编程语言JavaScript中的一个重要组成部分,它用于处理文本字符串,执行模式匹配和查找、替换等操作。在JavaScript中,正则表达式是一种强大的工具,可以帮助开发者进行复杂的数据验证、文本...
深入学习正则表达式,不仅可以提高你在处理字符串时的效率,还能使代码更加简洁和高效。在JavaScript中,熟练掌握正则表达式可以极大地提升你的编程能力。"JS正则表达式葵花宝典"中的内容应该包括了这些关键知识点,...
通过以上讨论,我们可以看到JavaScript正则表达式在表单验证中的强大作用。理解并熟练掌握正则表达式的使用,不仅能够提高我们的编程效率,还能确保应用程序的数据质量,从而为用户提供更好的体验。在实际开发中,...
JavaScript中的正则表达式是处理字符串的强大工具,用于匹配、替换、分割等操作。这篇入门笔记实例将带你深入了解正则表达式的使用。 1. **正则表达式基础** - **模式定义**:正则表达式由特殊字符(元字符)和...
JavaScript中的正则表达式是处理字符串的强大工具,用于匹配、替换、分割文本。它们在编程中扮演着不可或缺的角色,尤其在验证用户输入、提取数据、格式化内容等方面。以下是对正则表达式的基础知识和常见用法的详细...