`
starzhang
  • 浏览: 123916 次
  • 性别: Icon_minigender_1
  • 来自: 贵州
社区版块
存档分类
最新评论

JavaScript RegExp 对象 正则表达式

阅读更多

什么是 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

 

分享到:
评论
1 楼 月夜兔 2011-11-21  

相关推荐

    regexp正则表达式正则表达式正则表达式

    - **JavaScript**:JavaScript 也内置了正则表达式的支持。 - **grep/egrep**:Unix/Linux 下的命令行工具,用于在文件中搜索匹配正则表达式的行。 #### 五、正则表达式的高级主题 对于更深入的学习者来说,还可以...

    JavaScript RegExp 正则表达式对象详细说明

    JavaScript中的RegExp对象是用于处理正则表达式的内置对象,它提供了强大的字符串模式匹配功能。正则表达式(Regular Expression)是一种特殊的字符序列,用于在文本中查找、替换或提取符合特定模式的字符串。 直接...

    Java使用正则表达式提取XML节点内容的方法示例

    1. JavaScript正则表达式在线测试工具:http://tools.jb51.net/regex/javascript 2. 正则表达式在线生成工具:http://tools.jb51.net/regex/create_reg 这些工具可以帮助开发者快速测试和生成正则表达式,从而提高...

    JavaScript对象之正则表达式共16页.pdf.zi

    1. 创建正则表达式:在JavaScript中,有两种方式创建正则表达式,一是字面量表示法(/pattern/flags),二是构造函数表示法(new RegExp('pattern', 'flags'))。 2. 正则元字符:包括特殊字符如. * + ? ^ $ \ { [ ...

    传智播客_张孝祥_JavaScript7_正则表达式

    "传智播客_张孝祥_JavaScript7_正则表达式"这个课程可能详细讲解了JavaScript中的正则表达式及其应用。 1. 正则表达式基础: - 定义:正则表达式是一种模式匹配工具,用于描述一种特定的字符串模式。 - 基本元素...

    JavaScript对象之正则表达式共16页.pdf.zip

    JavaScript对象是语言的核心组成部分,而正则表达式则是处理文本模式匹配的重要工具。在这个压缩包“JavaScript对象之正则表达式共16页.pdf.zip”中,我们可以期待找到关于JavaScript中正则表达式的深入讲解,这包括...

    javaScript 正则表达式详解

    在 JavaScript 中,正则表达式可以被定义为一个 RegExp 对象。每次估值时,RegExp 对象都会返回一个新对象,这意味着RegExp 是可变对象。 直接量字符模式 在正则表达式中,直接量字符模式是指任意字符,除了 ^ $ ....

    头歌教学实践平台 Web前端开发基础 JavaScript学习手册十:正则表达式

    在JavaScript中,正则表达式(Regular Expression)是一种强大的文本处理工具,用于执行模式匹配和字符串操作。本篇教程将深入探讨JavaScript中的正则表达式,帮助你理解和掌握这一核心概念。 一、正则表达式基础 ...

    JAVA正则表达式JAVA正则表达式JAVA正则表达式

    JavaScript提供了一个RegExp对象,可以用来创建和操作正则表达式。 4. 正则表达式的方法 正则表达式提供了多种方法来操作字符串,例如: * test():检查指定的字符串是否存在。 * exec():返回查询值。 * match()...

    正则表达式(日期校验)

    在深入了解具体实现之前,我们先简要回顾一下正则表达式的相关概念以及JavaScript中的日期对象。 ##### 1. 正则表达式基础 - **语法结构**:正则表达式是由一系列字符和特殊符号组成的模式串,用于匹配字符串中的...

    JavaScript手册及正则表达式详解[收藏]

    正则表达式则是JavaScript中的一个重要工具,用于处理字符串的模式匹配和查找。在这个“JavaScript手册及正则表达式详解”中,我们将深入探讨这两个关键主题。 一、JavaScript基础 JavaScript是一种解释型、弱类型...

    JavaScript经典正则表达式实战

    - **创建方式**: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`命名空间,包含...

    正则表达式文档.docx

    正则表达式文档 正则表达式是一个描述字符模式的对象...在JavaScript中,正则表达式是由一个RegExp对象表示的,可以使用一个RegExp()构造函数来创建RegExp对象,也可以用JavaScript正则表达式直接量来定义正则表达式。

    javascript 30分钟学会正则表达式

    在JavaScript的世界里,正则表达式(Regular Expression)是一种强大的文本处理工具,它能用于搜索、替换、验证字符串等操作。对于任何JavaScript开发者来说,掌握正则表达式都是至关重要的,因为它们在处理数据格式...

    精通正则表达式05

    在JavaScript中,正则表达式可以通过两种方式创建:字面量语法(/pattern/flags)和构造函数(new RegExp('pattern', 'flags'))。其中,`flags`是可选的,如`g`全局匹配,`i`忽略大小写,`m`多行模式等。 在“精通...

    javascript正则表达式学习笔记

    1. 正则表达式对象的属性: - `source`:获取正则表达式的文本表示。 - `global`:检查是否有全局标志。 - `ignoreCase`:检查是否有不区分大小写的标志。 - `multiline`:检查是否有多行模式标志。 - `...

Global site tag (gtag.js) - Google Analytics