小括号在正则表达式这有以下意义
- 限定量词作用的范围
- 限定多选结构的范围
- 为反向引用捕获文本
- 分组捕获
- 只分组不捕获
- 前瞻
一、限定量词作用的范围
1
2
3
|
var reg1 = /(Matz)?/;
var reg2 = /(Matz)+/;
var reg3 = /(Matz)*/;
|
二、限定多选结构的范围
1
2
3
4
|
var reg = /(Matz|Eich)/
reg.test( 'Matz' )
reg.test( 'Eich' )
reg.test( 'John' )
|
三、为反向引用捕获文本
1
2
3
4
5
6
|
var reg = /(boy)\1/
reg.test( 'boy' )
reg.test( 'boyboy' )
var reg /(boy)(girl)\1\2/
reg.test( 'boygirlboygirl' )
|
四、分组捕获
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
var reg1 = /(\d{3}) (\d{3})/
var str = '111 222'
str.replace(reg1, '$2 $1' )
var reg2 = /(\d{3})(\d{4})(\d{4})/
var mobile = '13522722724'
reg2.test(mobile)
RegExp.$1
RegExp.$2
RegExp.$3
var reg3 = /(\d{3})(\d{4})(\d{4})/
var mobile = '13522722724'
mobile.replace(reg3, '$1 $2 $3' )
|
五、只分组不捕获(和 "?:" 一起)
1
2
3
|
var reg = /(?:\d+)/
reg.test( '13522722724' )
RegExp.$1
|
较长的正则表达式中,反向引用会降低匹配速度,性能降低,不需要反向引用时应使用分组不捕获。
六、前瞻(lookahead,和 "?=" 一起)
它告诉正则表达式向前看一些字符但不移动位置,前瞻不匹配任何字符只匹配文本中的特定位置。
1
2
3
4
5
|
var reg = /(John) (?=Resig)/
reg.test( 'John' )
reg.test( 'John Backus' )
reg.test( 'John Reisg' )
RegExp.$1
|
分享到:
相关推荐
5. **捕获组**:提取匹配的子串,特别是对于包含括号的正则表达式,可以获取多个匹配部分。 6. **修饰符**:如全局匹配(g)使匹配不局限于第一个出现的位置,忽略大小写(i)等。 “pbregexp”组件可能提供了相应...
本资料"java_zhengze.rar"提供了对Java正则表达式的详细讲解,包括基本概念、元字符、预定义字符类以及各种匹配操作,对于Java开发者来说是一份非常实用的学习资源。 首先,我们来了解一下正则表达式的基石——元...
5. **分组**:使用圆括号 `( )` 将正则表达式分成不同的部分,可以捕获匹配的子串,也可以应用于量词或其他操作。 6. **断言**:如 ^ 表示字符串的开始,$ 表示字符串的结束,\b 表示单词边界,而 \B 表示非单词边界...
这款工具对于开发者来说确实是个好帮手,尤其是对于经常处理文本和数据格式的人员,它能快速检查正则表达式的正确性,避免在实际应用中出现错误。无论是初学者还是经验丰富的开发者,都可以从中受益。
这对于检查正则表达式的正确性非常有帮助。 2. **分组与捕获**:RegexTest支持正则表达式中的分组操作,可以清晰地展示捕获的各个子串,帮助理解如何通过括号定义和使用分组。 3. **替换功能**:用户可以设置替换...
在实际使用时,要根据具体需求选择合适的语法结构,避免过度复杂的正则表达式,以提高代码可读性和维护性。同时,了解如何在不同的编程语言和环境中使用正则表达式也是很重要的,例如在JavaScript中,可以使用`match...
正则表达式,简称为正则或regex,是...在"正则表达式.doc"和"常用的正则表达式.doc"中,你将找到更多详细的解释和实际应用案例,这些资源将帮助你更好地理解和运用正则表达式,解决你在项目中遇到的各种文本处理问题。
这对于开发和调试过程中快速检验正则表达式的正确性非常有帮助。为了运行这个工具,首先需要在您的计算机上正确安装Java Development Kit (JDK),并且配置好相应的环境变量,使得系统能够找到Java的执行路径。 "run...
这个“java正则表达式检查”小工具专门用于测试正则表达式的有效性,帮助开发者验证自己的正则表达式是否能够按照预期工作。下面将详细介绍Java中的正则表达式以及如何使用它们进行文本处理。 1. 正则表达式基础 -...
### 正则表达式基础学习小结 正则表达式是一种强大的文本匹配工具,用于在字符串中查找或替换模式。本文将对正则表达式的几个关键概念进行详细解析,包括元字符、字符类、量词以及边界匹配等,旨在帮助初学者理解并...
正则表达式(Regular ...在实际应用中,还需要不断实践和学习,因为正则表达式的强大之处在于其灵活性和复杂性。通过组合这些元素,你可以创建出能处理各种文本模式的正则表达式,从而提高文本处理的效率和准确性。
JavaScript中的正则表达式...综上所述,JavaScript的正则表达式是编程中不可或缺的一部分,熟练掌握正则表达式能极大提高文本处理的效率和灵活性。通过实践和理解不同例子,你可以更好地运用这些工具来处理字符串数据。
7. **旗标**:在C#中,可以通过旗标参数调整正则表达式的匹配行为,例如`RegexOptions.Multiline`(多行模式)和`RegexOptions.IgnoreCase`(忽略大小写)。 8. **正则表达式构造函数**:在C#中,可以使用`System....
正则表达式(Regular Expression,简称regex)是一种模式匹配工具,能够用来检查一个字符串是否符合某种预定义的规则。它的强大之处在于通过简单的字符组合,可以实现复杂的文本匹配。在Java中,正则表达式主要通过`...
### 正则表达式30分钟入门教程知识...通过以上详细解释,我们可以看到正则表达式不仅是一种强大的工具,而且具有丰富的功能和灵活性。初学者通过逐步学习和实践,可以逐渐掌握其使用技巧,并在实际开发中发挥重要作用。
在JavaScript中,正则表达式通常使用NFA(非确定性有限自动机)解释引擎来处理,这种引擎允许更灵活的匹配行为。 正则表达式的起源可以追溯到20世纪50年代的神经网络研究,由数学家Stephen Kleene提出,随后在Ken ...
正则表达式是一种强大的文本处理工具...通过这个小工具,开发者可以快速地测试和调试正则表达式,提高编写正则表达式时的效率和准确性。对于C#程序员来说,掌握正则表达式是提高代码质量、提升开发效率的重要技能之一。