`
weiqiang.yang
  • 浏览: 156554 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

JavaScript中的正则表达式操作

阅读更多
总是搞混RegExp对象的方法和字符串正则方法,整理备忘一下,抄自JavaScript权威指南
var reg = new RegExp("[a-zA-Z]+", "gi");// 或者
var rex  = /[a-zA-Z]+/gim;


RegExp对象方法
1. exec(string)
返回:返回单个匹配,和详细信息
var pattern = /Java/g;
var text = "JavaScript is mor fun than Java!";
var result = pattern.exec(text);
while(result != null){
    console.log("match "+result[0]+" start at "+result.index+", end at "+pattern.lastIndex);
    result = pattern.exec(text);
}


2. test(string)
返回:如果字符串中含有匹配正则表达式的字符串,那么返回true,如果不包含,那么返回false
var reg = /java/i;
console.log(reg.test("welcome to JavaScript"));
// 加上^和$限定就可以用来判定整个字符串是否符合正则表达式
console.log(/^\s*$/.test(""));
console.log(/^\s*$/.test(" 1"));
console.log(/^\s*$/.test("1 "));
console.log(/^\s*$/.test(" 1 "));
console.log(/^\s*$/.test("1 1"));



字符串对象方法

1. search(regexp)
返回:第一个匹配的位置,或者-1
举例:
"JavaScript".search(/script/i); // return 4

search不支持“g”标记,会直接忽略

2. replace(regexp, "replacement");
返回: 替换后的字符串
举例:
"Javascript is javascript".replace(/javascript/gi, "JavaScript");


如果没有设置"g"标记,那么只替换第一个匹配的字符串,如果设置了"g"标记,那么会替换所有匹配到的字符串
"Javascript is not javascript".replace(/javascript/i, "JavaScript"); // "JavaScript is not javascript"


可以使用反向引用已匹配到的字符串,如
"var a=1234;".replace(/([a-z]+)=(\d+)/gi, "$1 = $2");// 轻松补上空格


3. match(regexp)
返回:正则表达式匹配的字符串列表
"1 + 2 = 3".match(/\d+/g);// ["1", "2", "3"]

如果设置了g标记,那么返回字符串中所有的匹配
如果没有设置g标记,那么只查找第一个匹配,但是返回结果依然是一个列表,list[0]包含匹配的整个字符串, list[1]...list[n]包含第n个分组
var url = /(\w+):\/\/([\w.]+)\/(\S*)/;
var text = "visit http://www.google.com/codeSearch";
var list = text.match(url);
if(list != null){
    console.log(list[0]);
    console.log(list[1]);
    console.log(list[2]);
    console.log(list[3]);
}

4. split(regexp) <-- 还支持参数为字符串
返回:根据正则表达式分割后的字符串列表
举例:
"123,456,789".split(","); // ["123", "456", "789"]
"123  ,  456  , 789".split(/\s*,\s*/); // ["123", "456", "789"]  

   
1
1
分享到:
评论

相关推荐

    JavaScript经典正则表达式实战

    JavaScript正则表达式是编程语言JavaScript中的一个重要组成部分,它用于处理文本字符串,进行模式匹配、查找、替换等操作。在JavaScript中,正则表达式是一种强大的工具,可以帮助开发者实现复杂的数据验证、文本...

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

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

    精通正则表达式(第三版)简体中文版

    - **JavaScript中的正则表达式**:JavaScript的正则表达式对象提供了丰富的功能,包括全局匹配、忽略大小写等选项。 - **.NET框架中的正则表达式**:通过System.Text.RegularExpressions命名空间提供支持。 #### 六...

    JavaScript正则表达式迷你书

    《JavaScript正则表达式迷你书》是一本关于JavaScript正则表达式的专业书籍,正则表达式是处理字符串的强大工具,广泛应用于编程语言中的文本处理。本书从字符匹配、位置匹配、括号的作用、回溯法原理、拆分、构建和...

    javascript&正则表达式进行表单验证

    除了基本的正则表达式操作,还可以结合其他JavaScript函数进行更复杂的验证,如`trim()`去除空白,`length`检查长度,`indexOf()`检测子字符串等。 在实际项目中,还可以利用jQuery或其他库如React、Vue等提供的...

    三目运算符+正则表达式

    在许多编程语言中,都有内置的库或函数支持正则表达式操作。 例如,如果我们想验证一个字符串是否为有效的电子邮件地址,可以使用以下正则表达式: ```java String email = "example@example.com"; boolean is...

    javaScript 正则表达式详解

    JavaScript 正则表达式详解 JavaScript 中的正则表达式是指使用特殊字符来描述字符串模式的表达式。...JavaScript 中的正则表达式提供了强大的字符串匹配和操作能力,广泛应用于字符串处理和数据验证等领域。

    正则表达式调试工具

    - **分组与捕获**:使用圆括号`()`定义分组,可以捕获匹配的部分供后续使用,如在替换操作中引用。 - **预查否定**:`(?!)`表示后面的模式不会匹配,而`(?=pattern)`和`(?!pattern)`分别表示后续有和没有模式`...

    javascript正则表达式学习笔记

    这篇学习笔记将深入探讨JavaScript正则表达式的概念、语法和实际应用。 一、正则表达式基础 1. 创建正则表达式: - 字面量表示法:`/pattern/flags` - 构造函数:`new RegExp('pattern', 'flags')` 2. 常见的...

    使用正则表达式验证一年的12个月份

    正则表达式是一种强大的文本处理工具,用于匹配、查找、替换等操作,广泛应用于编程语言中。在IT行业中,正则表达式是处理字符串时不可或缺的一部分,尤其在数据验证、文本提取等方面。在这个场景中,我们需要创建一...

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

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

    (html+css+javascript+正则表达式)中文帮助(CHM)

    "正则表达式.chm"可能详细讲解了正则表达式的语法、特殊字符、元字符、量词、分组、零宽断言等核心概念,以及如何在JavaScript中使用正则表达式进行匹配和替换操作。 这些CHM文件是学习Web开发的宝贵资源,通过它们...

    通过正则表达式生成数据

    2. **利用编程语言**:大多数编程语言如Python、Java、JavaScript等都内置了正则表达式的支持,并提供了方法来生成符合正则表达式的随机字符串。例如,Python的`re`模块配合`random.choice`或`random.choices`可以...

    javascript正则表达式综合练习

    JavaScript正则表达式是编程语言中的一个重要组成部分,用于处理文本模式匹配和字符串操作。这篇博客“javascript正则表达式综合练习”可能是一个实践教程或示例集合,旨在帮助开发者提升在JavaScript中使用正则...

    JavaScript_正则表达式语法.doc

    ### JavaScript正则表达式语法详解 #### 一、引言 正则表达式是一种强大的文本处理工具,可以用来实现字符串的查找、替换等操作。在JavaScript中,正则表达式的应用非常广泛,从简单的字符串匹配到复杂的文本解析,...

    boost库中的正则表达式

    在C++编程中,Boost库是一个非常重要的工具集,提供了许多高级功能,其中包括对正则表达式的支持。Boost库中的正则表达式模块提供了一种高效且强大的方式来处理文本模式匹配。本节将深入探讨Boost库中的正则表达式...

    JavaScript正则表达式匹配 div style标签

    在JavaScript中,正则表达式以斜杠“/”包围的形式出现,例如`/pattern/flags`。在处理HTML文档时,经常会遇到需要从HTML代码中提取特定信息的情况,比如从一段字符串中匹配`&lt;div&gt;`和`&lt;style&gt;`标签。 在进行正则...

    源码(精通正则表达式&实战正则表达式)

    在JavaScript环境中,正则表达式与其他语言有所不同,它既支持字面量表示法(如`/pattern/flags`),也支持构造函数表示法(如`new RegExp('pattern', 'flags')`)。此外,JavaScript提供了`test()`、`match()`、`...

Global site tag (gtag.js) - Google Analytics