`

javascript正则表达式多行匹配和RegExp理解

阅读更多

一:多行匹配

很多时候我们可以通过边界符号(^,$,\b,\B)达到我们匹配某些字符串的目的。但是如果字符串有多行呢,这个其实很简单了,只需加个m就指定为多行匹配了。实例:

 

var str = "first second\nthird fourth\nfifth sixth";

var patt = /(\w+)$/gm

console.log(str.match(patt));

结果:

 

["second", "fourth", "sixth"]
如果没有指定m,则只会得到sixth了,加了m后实际上正则表达式是把\n、\r这些也换行和回车当成边界了,可以这么理解

 

 

var str2 = "first second\nthird fourth\nfifth sixth";

var patt2 = /^(\w+)/gm

console.log(str2.match(patt2 ));

 

结果:

 

["first", "third", "fifth"]
没指定m则只能是first了

二:RegExp理解
RegExp有很多属性:
  1.  

    global 表示全局g是否设置

     

  2. ignoreCase 表示i忽略大小是否设置
  3. lastIndex 表示下次匹配将会从哪个位置开始(只有用了test,exec,match这些方法后才会有值,否则为0)
  4. multiline 表示多行m是否设置
  5. source 表示正则表达式的源字符串形式
这些属性基本都不用,因为一看就知道了。可能有点用的是lastIndex这个属性了。我们可以控制这个去匹配我们想要匹配的字符串。
还有一些静态属性:
  1.     
    长名 短名 描述
    input $_ 最后匹配的字符串
    lastMatch $& 最后匹配的字符
    lastParem $+ 最后匹配的分组
    leftContent $` 上次匹配的前面的子串
    rightContent $' 上次匹配的后面的子串

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

实例:

var str = "this has been a short,short summer";

var patt = /(s)hort/g

console.log(str.match(patt));

console.log(RegExp.input);

console.log(RegExp.lastMatch);

console.log(RegExp.lastParen);

console.log(RegExp.leftContext);

console.log(RegExp.rightContext);

当然也可以使用那些短名的

结果:

["short", "short"]
this has been a short,short summer
short
s
this has been a short,
summer
分享到:
评论

相关推荐

    javascript正则表达式综合练习

    总结来说,JavaScript正则表达式是一个强大的文本处理工具,通过理解和熟练运用上述知识点,开发者可以有效地处理字符串操作,进行数据验证,以及在各种场景下实现复杂的数据匹配。`validator.js`文件可以作为实践...

    javascript正则表达式和字符串RegExp and String(一).docx

    ### JavaScript 正则表达式和字符串RegExp and String详解 #### 前言 正则表达式作为 JavaScript 中一种特别重要且常用的功能,在诸如 jQuery 等大型框架中使用得非常频繁。本文旨在深入探讨 JavaScript 中正则...

    javaScript 正则表达式详解

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

    javascript正则表达式学习笔记

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

    JavaScript正则表达式迷你书(1.1版)_程序逻辑_

    通过深入学习和理解JavaScript正则表达式,程序员可以增强其在处理字符串逻辑时的灵活性和效率,解决各种复杂的问题。本书"JavaScript正则表达式迷你书(1.1版)"将对此进行全面讲解,帮助读者掌握这一关键技能。

    JavaScript正则表达式工具

    这个工具提供语法高亮功能,使得代码更易于阅读和理解,同时具备实时匹配特性,允许用户即时测试和验证其正则表达式的正确性。 在JavaScript中,正则表达式通常与`RegExp`对象一起使用。例如: ```javascript var ...

    Javascript正则表达式测试网页.rar

    本压缩包“Javascript正则表达式测试网页.rar”提供了一个手册,帮助学习者深入理解和实践JavaScript中的正则表达式。 正则表达式(Regular Expression)是一种模式匹配语言,它使用特殊的字符序列来描述字符串的...

    JavaScript正则表达式使用详解.zip

    JavaScript正则表达式是编程语言JavaScript中的一个重要组成部分,它用于处理文本字符串,执行模式匹配和字符串操作。在JavaScript中,正则表达式被广泛应用于数据验证、搜索与替换以及提取字符串中的特定信息等多个...

    JS正则表达式大全.docx

    在JavaScript中,正则表达式还可以配合标志(Flags)使用,如`g`全局搜索,`i`忽略大小写,`m`多行匹配。例如: ```javascript var re = new RegExp("pattern", "gi"); ``` 这将创建一个全局搜索且忽略大小写的正则...

    JavaScript正则表达式迷你书(1.1版)

    JavaScript正则表达式是编程语言JavaScript中的一个重要组成部分,它用于处理字符串模式匹配和搜索替换,是数据验证、文本处理和信息提取的关键工具。在1.1版的《JavaScript正则表达式迷你书》中,作者深入浅出地...

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

    本篇教程将深入探讨JavaScript中的正则表达式,帮助你理解和掌握这一核心概念。 一、正则表达式基础 1. 字面量表示法与构造函数:在JavaScript中,有两种创建正则表达式的方式。一种是字面量表示法,即使用`/...

    javascript正则表达式详解

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

    正则表达式教程合集(各种语言的,超全)

    JavaScript的正则表达式有两种创建方式:字面量(/pattern/flags)和构造函数(new RegExp('pattern', 'flags'))。常见的标志有`g`(全局搜索)、`i`(忽略大小写)和`m`(多行模式)。 VBScript(Visual Basic ...

    JavaScript正则表达式.rar

    JavaScript正则表达式是编程语言JavaScript中的一个重要组成部分,它用于处理文本字符串,执行模式匹配和字符串操作。在JavaScript中,正则表达式是一种强大的工具,能够帮助开发者进行复杂的文本搜索、替换和分割...

    最新的javascript正则表达式详解

    本文将深入探讨JavaScript正则表达式的最新特性、语法以及常见用法。 一、正则表达式基础 1.1 创建正则对象 在JavaScript中,有两种创建正则表达式的方法:字面量表示法(`/pattern/flags`)和构造函数(`new ...

    javascript 30分钟学会正则表达式

    "javascript 30分钟学会正则表达式"的教程旨在帮助你快速理解和应用正则表达式,无论你是初学者还是希望巩固正则知识的开发者。 首先,我们要了解正则表达式的构成元素。基础的元素包括元字符(如.、*、+、?、^、$...

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

    本资源“源码(精通正则表达式&实战正则表达式)”专注于JavaScript环境下的正则表达式学习,通过一系列视频教程和配套源码,帮助开发者提升对正则表达式的理解和应用能力。 首先,"精通正则表达式五部视频"可能涵盖...

    Javascript正则表达式

    正则表达式(Regular Expression),简称regex或regexp,在JavaScript中是一种用于处理字符串的强大工具,它能够帮助开发者进行模式匹配、搜索和替换操作。正则表达式本质上是由一系列字符和特殊符号组成的模式字符...

Global site tag (gtag.js) - Google Analytics