什么是 RegExp?
RegExp 是正则表达式的缩写。
当您检索某个文本时,可以使用一种模式来描述要检索的内容。RegExp 就是这种模式。
简单的模式可以是一个单独的字符。
更复杂的模式包括了更多的字符,并可用于解析、格式检查、替换等等。
您可以规定字符串中的检索位置,以及要检索的字符类型,等等。
定义 RegExp
RegExp 对象用于存储检索模式。
通过 new 关键词来定义 RegExp 对象。以下代码定义了名为 patt1 的 RegExp 对象,其模式是 "e":
var patt1=new RegExp("e");
当您使用该 RegExp 对象在一个字符串中检索时,将寻找的是字符 "e"。
RegExp 对象的方法
RegExp 对象有 3 个方法:test()、exec() 以及 compile()。
RegExp 对象的属性
global |
RegExp 对象是否具有标志 g。 |
|
|
|
ignoreCase |
RegExp 对象是否具有标志 i。 |
|
|
|
lastIndex |
一个整数,标示开始下一次匹配的字符位置。 |
|
|
|
multiline |
RegExp 对象是否具有标志 m。 |
|
|
|
source |
正则表达式的源文本。 |
|
|
|
test()
test() 方法检索字符串中的指定值。返回值是 true 或 false。
例1
var patt1=new RegExp("e");
document.write(patt1.test("The best things in life are free"));
由于该字符串中存在字母 "e",以上代码的输出将是:
true
exec()
exec() 方法检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回 null。
例1
var patt1=new RegExp("e");
document.write(patt1.exec("The best things in life are free"));
由于该字符串中存在字母 "e",以上代码的输出将是:
e
例2
您可以向 RegExp 对象添加第二个参数,以设定检索。例如,如果需要找到所有某个字符的所有存在,则可以使用 "g" 参数 ("global")。
在使用 "g" 参数时,exec() 的工作原理如下:
- 找到第一个 "e",并存储其位置
- 如果再次运行 exec(),则从存储的位置开始检索,并找到下一个 "e",并存储其位置
var patt1=new RegExp("e","g");
do
{
result=patt1.exec("The best things in life are free");
document.write(result);
}
while (result!=null)
由于这个字符串中 6 个 "e" 字母,代码的输出将是:
eeeeeenull
compile()
compile() 方法用于改变 RegExp。
compile() 既可以改变检索模式,也可以添加或删除第二个参数。
例子:
var patt1=new RegExp("e");
document.write(patt1.test("The best things in life are free"));
patt1.compile("d");
document.write(patt1.test("The best things in life are free"));
由于字符串中存在 "e",而没有 "d",以上代码的输出是:
truefalse
分享到:
相关推荐
- **JavaScript**:JavaScript 也内置了正则表达式的支持。 - **grep/egrep**:Unix/Linux 下的命令行工具,用于在文件中搜索匹配正则表达式的行。 #### 五、正则表达式的高级主题 对于更深入的学习者来说,还可以...
JavaScript中的RegExp对象是用于处理正则表达式的内置对象,它提供了强大的字符串模式匹配功能。正则表达式(Regular Expression)是一种特殊的字符序列,用于在文本中查找、替换或提取符合特定模式的字符串。 直接...
1. JavaScript正则表达式在线测试工具:http://tools.jb51.net/regex/javascript 2. 正则表达式在线生成工具:http://tools.jb51.net/regex/create_reg 这些工具可以帮助开发者快速测试和生成正则表达式,从而提高...
1. 创建正则表达式:在JavaScript中,有两种方式创建正则表达式,一是字面量表示法(/pattern/flags),二是构造函数表示法(new RegExp('pattern', 'flags'))。 2. 正则元字符:包括特殊字符如. * + ? ^ $ \ { [ ...
"传智播客_张孝祥_JavaScript7_正则表达式"这个课程可能详细讲解了JavaScript中的正则表达式及其应用。 1. 正则表达式基础: - 定义:正则表达式是一种模式匹配工具,用于描述一种特定的字符串模式。 - 基本元素...
JavaScript对象是语言的核心组成部分,而正则表达式则是处理文本模式匹配的重要工具。在这个压缩包“JavaScript对象之正则表达式共16页.pdf.zip”中,我们可以期待找到关于JavaScript中正则表达式的深入讲解,这包括...
在 JavaScript 中,正则表达式可以被定义为一个 RegExp 对象。每次估值时,RegExp 对象都会返回一个新对象,这意味着RegExp 是可变对象。 直接量字符模式 在正则表达式中,直接量字符模式是指任意字符,除了 ^ $ ....
在JavaScript中,正则表达式(Regular Expression)是一种强大的文本处理工具,用于执行模式匹配和字符串操作。本篇教程将深入探讨JavaScript中的正则表达式,帮助你理解和掌握这一核心概念。 一、正则表达式基础 ...
在深入了解具体实现之前,我们先简要回顾一下正则表达式的相关概念以及JavaScript中的日期对象。 ##### 1. 正则表达式基础 - **语法结构**:正则表达式是由一系列字符和特殊符号组成的模式串,用于匹配字符串中的...
正则表达式则是JavaScript中的一个重要工具,用于处理字符串的模式匹配和查找。在这个“JavaScript手册及正则表达式详解”中,我们将深入探讨这两个关键主题。 一、JavaScript基础 JavaScript是一种解释型、弱类型...
正则表达式对象提供了几个方法,如 `test()`,它返回一个布尔值,表示字符串中是否存在匹配模式;`exec()` 返回一个包含匹配结果的数组;`compile()` 可以编译正则表达式以提高性能。 此外,还有一些只读属性,如 `...
- **创建方式**:JavaScript中的正则表达式可以通过字面量(`/pattern/flags`)或构造函数 (`new RegExp(pattern, flags)`)创建。 - **元字符**:如`.`表示任意字符,`^`表示行首,`$`表示行尾,`\d`代表数字,`\...
在JavaScript环境中,正则表达式与其他语言有所不同,它既支持字面量表示法(如`/pattern/flags`),也支持构造函数表示法(如`new RegExp('pattern', 'flags')`)。此外,JavaScript提供了`test()`、`match()`、`...
使用`RegExp`对象来处理正则表达式,其中包含`Pattern`属性来设置模式,`Execute`方法来执行匹配,以及`Global`和`IgnoreCase`属性来控制匹配行为。 .NET框架提供了`System.Text.RegularExpressions`命名空间,包含...
正则表达式文档 正则表达式是一个描述字符模式的对象...在JavaScript中,正则表达式是由一个RegExp对象表示的,可以使用一个RegExp()构造函数来创建RegExp对象,也可以用JavaScript正则表达式直接量来定义正则表达式。
在JavaScript中,正则表达式由`RegExp`对象表示,可以通过两种方式创建:使用构造函数`RegExp()`或使用正则表达式直接量,即两斜杠`//`之间的字符序列。 1. **创建正则表达式** - 正则表达式直接量:例如 `/s$/` ...
在JavaScript的世界里,正则表达式(Regular Expression)是一种强大的文本处理工具,它能用于搜索、替换、验证字符串等操作。对于任何JavaScript开发者来说,掌握正则表达式都是至关重要的,因为它们在处理数据格式...
在JavaScript中,正则表达式可以通过两种方式创建:字面量语法(/pattern/flags)和构造函数(new RegExp('pattern', 'flags'))。其中,`flags`是可选的,如`g`全局匹配,`i`忽略大小写,`m`多行模式等。 在“精通...
1. 正则表达式对象的属性: - `source`:获取正则表达式的文本表示。 - `global`:检查是否有全局标志。 - `ignoreCase`:检查是否有不区分大小写的标志。 - `multiline`:检查是否有多行模式标志。 - `...