正则表达式(
Regular expression
)是一种描述字符模式的对象,
Javascript
的
RegExp
类表示正则表达式,而
String
和
RegExp
都定义了使用正则表达式进行强大的模式匹配和文本检索与替换的函数
正则表达式的重复字符:可以匹配尽可能多的字符
{n, m}
匹配前一项至少
n
次,但是不能超过
m
次
{n, }
匹配前一项
n
次,或者更多次
{n}
匹配前一项
n
次
?
匹配前一项
0
次或
1
次,等价于
{0, 1}
+
匹配前一项
1
次或多次,等价于
{1,}
*
匹配前一项
0
次或多次,等价于
{0,}
非贪婪的重复:在重复字符后加问号(如:
??,
+?,
*?, {1,4}?
)
选择:选择项是从左到右考虑,直到发现了匹配项,如果左边的选择项匹配,就忽略右边的选择项,即使它产生更好的选择项。
模式
/a|ab/
应用到字符串
”ab”
上时,它只匹配第一个字符。
在正则表达式中括号具有几种作用:
一个作用是把单独的项目组合成子表达式,以便可以想处理独立的但愿那样用
|, *, +
或
?
等来处理他们;
另一个作用是在完整的模式中定义子模式;
/([‘”])[^‘”]*\1/
匹配一对单引号或者一对双引号,
\1
匹配的是第一个带括号的子表达式所匹配的模式
正则表达式的标志:
I :
执行不区分大小的匹配
g :
执行一个全局匹配
m :
多行匹配,
^
匹配一行的开头和字符串的开头,
$
匹配一行的结尾和字符串的结尾
search
:以正则表达式为参数(如果不是正则表达式,则传递给
RegExp
转换成正则表达式),返回第一个与之匹配的子串的开始字符的位置,如果没有匹配的字符,返回
-1
。
Search
不支持全局搜索
"JavaScript".search(/script/i);//4
match
:参数是正则表达式(如不是,则转换),返回包含匹配结果的数组
"2 plus 5 equals 7".match(/\d+/g);// ["2", "5", "7"]
split
:把调用它的字符串(或正则表达式)分解为一个子串数组,返回数组
"123,456,789".split(",");//["123", "456", "789"]
"1,2, 3, 4 ,5".split(/\s*,\s*/);//["1", "2", "3", "4", "5"]
RegExp
类:第一个参数为包含正则表达式主体的字符串,第二个参数是可选的,为
g/i/m
。当将正则表达式作为字符串直接量传递给
RegExp
构造函数时,必须用
\\
替换所有的
\
字符。
var zipcode = new RegExp(“\\d{5}”,’g’);
exec
:对一个指定的字符串执行一个正则表达式即在一个字符串中检索匹配,如果没找到,返回
null
,如果找到,返回一个数组。
var pattern = /Java/g;
var text = "Javascript is more fun than Java!";
var result;
while((result = pattern.exec(text) )!= null){
alert("Matched '" + result[0] + "'" + "at position " + result.index + "; next search begins at " + pattern.lastIndex);
}
test
:另一个
RegExp
方法,参数是一个字符串,如果这个字符串包含正则表达式的一个匹配,返回
true
。
var pattern = /java/i;
pattern.test("JavaScript");//true
分享到:
相关推荐
JavaScript中的正则表达式(Regular Expression)是一种强大的文本处理工具,用于匹配、查找、替换以及提取字符串中的模式。在Web开发中,它被广泛应用于数据验证、文本搜索和替换等场景。这篇学习笔记将深入探讨...
它在多种编程语言中都有应用,尤其是在JavaScript中,正则表达式被广泛用于数据验证、文本提取等方面。 #### 二、正则表达式的语法元素 正则表达式由一系列字符和特殊符号组成,用以匹配字符串中的特定模式。下面...
读书笔记:逐章解析正则表达式引擎工作原理写出高效地错误率的正则表达式。本仓库为正则教程
### 正则表达式学习笔记 #### 一、正则表达式概述 正则表达式是一种强有力的模式匹配工具,广泛应用于各种编程语言中,用于文本处理。正则表达式允许用户定义复杂的查找模式,这对于数据验证、搜索和替换操作特别...
学习笔记:Python爬虫正则表达式.doc
JavaScript中的正则表达式是处理字符串的强大工具,用于匹配、替换、分割等操作。这篇入门笔记实例将带你深入了解正则表达式的使用。 1. **正则表达式基础** - **模式定义**:正则表达式由特殊字符(元字符)和...
正则表达式是一种强大的文本处理工具,它能够帮助开发者高效地进行字符串的搜索、替换等操作。Java中的正则表达式支持广泛的标准和特性,是进行文本处理任务的理想选择之一。本文将通过一系列示例来介绍Java正则...
4. **学习正则的学习笔记**:可能包含一份详细的正则表达式学习资料,涵盖了基础概念如元字符、量词、字符类等,以及高级特性如分组、后向引用、预查等,方便用户系统学习。 5. **正则表达式参考手册**:可能提供了...
正则表达式是JavaScript中用于处理字符串的强大工具之一。它可以帮助我们查找、替换或提取文本中的特定模式。在JavaScript中创建正则表达式有两种基本方法: 1. **字面量方式**: ```javascript var reg = /...
Python正则表达式全套笔记v0.3 本文档是小小明个人笔记,涵盖了正则表达式的各个方面,包括各种模式、分组、断言、匹配、查找、替换和切割等。文档中提供了详细的正则匹配规则表,涵盖了基本字符规则、预定义字符集...
正则表达式是一种强大的文本处理工具,用于在字符串中进行模式匹配、搜索、替换和提取信息。它在软件开发中广泛应用于数据验证、文本处理、输入校验等场景。正则表达式通过特殊的语法和运算符,允许程序员构建灵活且...
标题与描述中的“js正则表达式笔记,直接运行”明确指出这是一份关于JavaScript正则表达式的笔记,其中包含了可以直接执行的代码示例。正则表达式在编程中是一种非常强大的工具,用于处理字符串模式匹配、搜索和替换...
读书笔记:编译原理词法分析部分正则表达式生成DFA
正则表达式是一种强大的文本处理工具,用于在字符串中进行模式匹配、查找和替换操作。在Java中,正则表达式主要涉及到`java.lang.String`、`java.util.regex.Pattern`和`java.util.regex.Matcher`这三个类。下面我们...
JavaScript中的正则表达式是进行复杂文本匹配和验证的强大工具,尤其在处理表单验证时,它们能够确保用户输入的数据符合预设的业务规则。在本文中,我们将深入探讨JavaScript正则表达式的基础知识,包括如何创建正则...
不同的编程语言和环境可能使用不同的正则表达式引擎,如Perl兼容正则表达式(PCRE)、JavaScript的正则表达式等,它们在语法细节和功能上可能存在差异。 七、实例应用 1. 邮箱验证:`^[a-zA-Z0-9._%+-]+@[a-zA-Z0-...
### 正则表达式大全笔记总结 #### 一、引言 正则表达式是一种用于匹配字符串的强大工具,在数据处理、文本分析等场景下极为常见。本文将对几个常见的正则表达式应用场景进行总结,包括中国电话号码验证、邮政编码...
正则表达式是一种强大的文本处理工具,用于在字符串中进行模式匹配和搜索替换。它在编程、数据分析、文本挖掘等领域有着广泛的应用。本教程旨在帮助你深入理解和熟练掌握正则表达式,通过学习,你可以有效地查找、...
Python正则表达式笔记 正则表达式是 Python 中的一种强大工具,用于匹配和处理字符串。下面是 Python 正则表达式笔记中的一些重要知识点: 1. 导入模块:在使用正则表达式之前,需要导入 re 模块。import re 2. ...