首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么字符类和捕获组在javascript regexp中显示空格字符后跟圆点的不同结果?

在JavaScript的正则表达式中,字符类和捕获组在显示空格字符后跟圆点时会产生不同的结果。

  1. 字符类(Character Class):字符类用方括号([])表示,可以匹配方括号中的任意一个字符。当字符类中包含空格字符(\s)时,表示匹配任意的空白字符,包括空格、制表符、换行符等。而当字符类中的空格字符后跟圆点(.)时,表示匹配空格字符后的任意一个字符。

例如,正则表达式[\s.]可以匹配任意的空白字符或者一个任意字符。

  1. 捕获组(Capture Group):捕获组用小括号(())表示,可以将匹配到的内容进行分组捕获。当捕获组中包含空格字符(\s)时,表示匹配任意的空白字符。而当捕获组中的空格字符后跟圆点(.)时,表示匹配空格字符后的任意一个字符。

例如,正则表达式(\s.)可以匹配一个空白字符后的任意一个字符,并将其作为捕获组。

总结:

  • 字符类中的空格字符后跟圆点表示匹配空格字符后的任意一个字符。
  • 捕获组中的空格字符后跟圆点表示匹配一个空白字符后的任意一个字符,并将其作为捕获组。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

代码之美,正则之道

因此实际上,捕获性分组[abc]反向引用\1将同时捕获”a”、”b” 或 “c”同一个字符,即有三种可能捕获结果:”aa”,”bb” 或 “cc”。...实际上, 捕获性分组捕获性分组搜索效率方面也没什么不同, 没有哪一个比另一个更快. 命名分组 语法: (?...…) 命名分组也是捕获性分组, 它将匹配字符捕获到一个名称或编号名称, 获得匹配结果后, 可通过分组名进行获取....(如果是捕获性分组, python通过”\g”表示法进行引用) 与python不同是, javaScript 并不支持命名分组. 固化分组 固化分组, 又叫原子. 语法: (?...首先我们先来看看js正则 RegExp. RegExp RegExp 对象表示正则表达式, 主要用于对字符串执行模式匹配.

1.8K20

代码之美,正则之道

因此实际上,捕获性分组[abc]反向引用\1将同时捕获”a”、”b” 或 “c”同一个字符,即有三种可能捕获结果:”aa”,”bb” 或 “cc”。...实际上, 捕获性分组捕获性分组搜索效率方面也没什么不同, 没有哪一个比另一个更快. 命名分组 语法: (?...…) 命名分组也是捕获性分组, 它将匹配字符捕获到一个名称或编号名称, 获得匹配结果后, 可通过分组名进行获取. 如下是一个python命名分组例子....(如果是捕获性分组, python通过”\g”表示法进行引用) 与python不同是, javaScript 并不支持命名分组. 固化分组 固化分组, 又叫原子. 语法: (?...首先我们先来看看js正则 RegExp. RegExp RegExp 对象表示正则表达式, 主要用于对字符串执行模式匹配.

1.3K30

浅析JavaScript正则表达式

JavaScriptRegExp表示正则表达式,StringRegExp都定义了方法,后者使用正则表达式进行强大模式匹配和文本检索与替换功能,JavaScript正则表达式语法是Perl5正则表达式语法大型子集...1个空格javascript加至少1个空格加0个或多个左反圆括号字符 ?...重复匹配还种模式:非贪婪模式(尽可能少匹配),只需待匹配字符后跟随一个? ??、+?、*?、{1,5}?...只组合,把项组合到一个单元,但不记忆与改组相匹配字符 \n 第n个分组第一次匹配字符相匹配,是圆括号子表达式(也可能是嵌套),索引是从左到右左括号数,(?...设置了修饰符g,则返回数组包含字符所有匹配结果,若没有g,就不会进行全局检索,只会检索第一个匹配。

1.6K30

「思维导图学前端 」初中级前端值得收藏正则表达式知识点扫盲

如果是用空格匹配,那么match结果数组第一项就是" love ",是带了空格,然而很多时候我们不希望结果得到空格,所以\b存在意义也就比较明显了。 \B 与\b相反,代表非单词边界。...举个例子, '123456789'.match(/^(\d+)(\d{2,})$/) 以上结果捕获第一项是"1234567",第二项是"89"。 为什么会这样呢?...分组 分组正则是一个非常有用神器,用圆括号()来包裹内容就是一个分组,正则是这种表示形式: /(\d*)([a-z]*)/ 捕获() 利用捕获,我们能捕获到关键字符。...与exec()不同点在于,如果match方法传入正则表达式带了标识g,则将返回与完整正则表达式匹配所有结果,但不会返回捕获。...如果此时表达式中有圆括号分组,match()结果数组也是可以获取到这些分组匹配结果,这一点捕获也有提到。

43740

C#正则匹配和文本处理

把正则表达式传递给dir(目录文件显示)命令, 然后文件系统任何与"myfile.exe"相匹配文件都会显示屏幕上。 许多用户还会在正则表达式中用到元字符....此外, 还可以把数字字符([0-9])写成\d(注意由于C#反斜杆后跟着其他字符很可能是表示转义字符, 所以如果你想表达就是正则表达式某种字符, 应该写两根反斜杠, 比如\dC#定义时应该协作...非数字字符([^0-9])则可以写成\D 这样. 最后一点, 因为空格文本处理扮演着非常重要角色, 所以把\s 专门用来表示空格字符, 而把\S 用来表示非空格字符....=regexp)断言对应字符串作为匹配到字符结果, 前提是正向断言正则表达式最右侧, 否则正向断言所匹配字符串一样会包含在结果) 下一个断言是负正向断言....) { //分别遍历两个正则所代表捕获集合, 输出不同正则匹配结果字符串 foreach (Capture aCapture in aMatch.Groups[

2.5K41

JavaScript正则表达式

最近,看完了《JavaScript忍者秘籍》这本书,对正则有了全新认识,自己也尝试了总结了一些,开发,让好多事情变得事半功倍。 正则表达式是一个拆分字符串并查询相关信息过程。...注意:在数组,第一项是与整个模式匹配字符串,其他项是与模式捕获匹配字符串(如果模式没有捕获,则该数组只包含一项)。...预定义字符 \t 水平制表符 \b 空格 \f 垂直制表符 \r 换页符 \n 回车 7....示例: /^([dtn]a\1)/; // dad tat nan 可以任意一个以“d”、“t”、“n”开头,且后面跟着一个“a”字符,最后跟第一个捕获相同字符。...示例2为全局匹配,返回全局匹配结果,而不是每个匹配捕获结果。 3. 捕获引用 可以引用捕获匹配结果两种方式:一是,自身匹配;二是,替换字符串。

93081

Qt正则表达式QRegExp(附检验小程序)

:pattern)是非捕获型括号 匹配pattern,但不捕获匹配结果 (pattern)是捕获型括号。 匹配pattern,匹配pattern并捕获结果,自动获取号 (?...在下面的列表,E代表表达。表达式是一个字符,或者是一字符缩写,或者方括号是一字符,或者括号是表达式。 例子 解释 E? ?...例如,如果我们“ Left on”搜索\ Bon \ B,则匹配将失败(字符空格结尾不是非单词边界),但将在“ t on ne”匹配。 (?...= E) 如果表达式此时regexp匹配,则此断言为true。 (?!E) 如果此表达式regexp不匹配,则此断言为true。...完整正则表达式。 * 匹配零个或多个任何字符。与完整正则表达式。*相同。 […] 字符集可以用方括号表示,类似于完整正则表达式。字符,与外部一样,反斜杠没有特殊含义。

6.6K21

JsRegExp对象

() regexObj.exec(str) exec()方法一个指定字符执行一个搜索匹配,返回一个结果数组或null,设置了global或sticky标志位情况下,RegExp对象是有状态...,如果使用g标志,则将返回与完整正则表达式匹配所有结果,但不会返回捕获,如果未使用g标志,则仅返回第一个完整匹配及其相关捕获Array。...) matchAll()方法返回一个包含所有匹配正则表达式结果及分组捕获迭代器,如果传入一个非正则表达式对象,则会隐式地使用new RegExp(obj)将其转换为一个RegExp,传入RegExp...() regexObj.exec(str) exec()方法一个指定字符执行一个搜索匹配,返回一个结果数组或null,设置了global或sticky标志位情况下,RegExp对象是有状态...,并返回替换后字符结果,用来替换参数可以是一个字符串或是一个针对每次匹配回调函数,这个方法基本可以String.prototype.replace()一样使用,不同之处是this参数顺序。

10.5K20

正则表达式教程:实例速查

中心主题 分组捕获——() a(bc) 括号创建一个值为bc捕获 - >试试吧! a(?:bc)* 我们使用?:禁用捕获 - >试试吧! a(?bc) 我们使用?...当我们需要使用您首选编程语言从字符串或数据中提取信息时,此运算符非常有用。由几个捕获任何多次出现都将以经典数组形式公开:我们将使用匹配结果索引来访问它们值。...请记住,括号内表达式,所有特殊字符(包括反斜杠\)都会失去其特殊权力:因此我们不会应用“转义规则”。...\b表示像插入符号(它类似于$^)匹配位置,其中一侧是单词字符(如\w)而另一侧不是单词字符(例如,它可能是字符开头或者空格字符)。 它伴随着它否定,\B。...(特别是网页抓取,最终按特定顺序查找包含特定单词集所有页面) 数据转换(将数据从“原始”转换为另一种格式) 字符串解析(例如捕获所有URLGET参数,捕获括号内文本) 字符串替换(即使使用通用

1.6K30

使用 WPADPAC JScriptwin11进行远程代码执行1

开发 了解 JScript VAR 字符串 由于在这篇博文其余部分,我们将大量讨论 JScript VAR 字符串,因此深入了解这些漏洞工作原理之前先描述这些内容是很有用。...这个机制 JavaScript 堆风水中有详细描述。 第 1 阶段:信息泄漏 infoleak 目的是获取我们完全控制其内容内存字符地址。...每当带有 RegExp 参数 RegExp.test、RegExp.exec 或 String.search 遇到捕获RegExp 语法括号)时,匹配开始结束索引都存储在这里。...但是,如果 RegExp.lastParen 被调用并且有超过 10 个捕获,RegExpFncObj::LastParen 会很乐意使用捕获数量作为缓冲区索引,从而导致越界读取。...图像 2 3 显示信息泄漏前后使用堆历史查看器创建堆可视化。

7.8K950

正则表达式 RegExp(regular expression)

正则表达式 RegExp(regular expression)用来处理“字符串”规则【匹配 & 捕获】只能处理字符串类型值匹配:验证当前字符串是否符合我设定规则(test)捕获:把字符符合规则部分捕获到正则匹配...”“修饰符”组成正则表达式字符修饰符量词元字符:设置出现次数代表出现次数*:零到多次+:一到多次?...\s:一个空白字符(包含空格、制表符TAB、换页符Enter等)\t:一个制表符(一个TAB键:四个空格)\b:匹配一个单词边界x|y:x或者y一个字符xyz:x或者y或者z一个字符^xy:除了...:):只匹配不捕获(?=):正向预查(?=后跟是条件,必须符合这个条件)(?!)... JavaScript ,你可以使用 RegExp 对象来创建正则表达式,并使用其方法来进行匹配、替换等操作,例如:const myString = 'Hello, my email is example

20620

正则表达式学习笔记

返回数组包含匹配字符串,同时另外包含两个属性:index input。index表示是匹配字符文本起始位置,input表示匹配字符串。...,匹配失败返回null,匹配成功会返回一个数组,包含所有匹配值;如果是非全局模式,则返回第一个匹配项数组信息,数组第一个元素为匹配字符串,余下为匹配捕获,另外这个数组还有两个属性,indexinput...2.2 匹配一字符 表示匹配代表一特定含义字符。例如:[abc]就代表匹配”a”,”b”,”c”字符一个,而不是代表匹配一个特定字符。...分组 使用()表示分组,表示匹配一字符串,例如:/(\w\s)+/表示匹配一个或者多个以字母空格组合出现字符串 var str = 'a b c', reg = /(\w\s)+/;...例如:/a|b/表示匹配字符”a”或者”b”,/(ab)+|(def)+/表示匹配一次或者多次出现”ab”或者”def” 2.8 断言 正则表达式断言大体分为两,先行断言与后发断言;每一种断言中又分为正环顾负环顾

1.4K40

JavaScript 权威指南第七版(GPT 重译)(四)

第九章: JavaScript 对象第六章中有所涉及。该章将每个对象视为一独特属性,与其他对象不同。然而,通常有必要定义一种共享某些属性对象。...虽然有一些语法上相似之处,并且您可以 JavaScript 模拟许多“经典”特性,但最好事先了解 JavaScript 基于原型继承机制与 Java 类似语言基于继承机制有很大不同...9.1 原型 JavaScript 是一从同一原型对象继承属性对象。因此,原型对象是核心特征。...在这种非全局情况下,match()仍然返回一个数组,但数组元素完全不同。没有g标志时,返回数组第一个元素是匹配字符串,任何剩余元素是正则表达式括号捕获匹配字符串。...使用 Error 对象一个很好理由是,当您创建一个 Error 时,它会捕获 JavaScript 堆栈状态,如果异常未被捕获,堆栈跟踪将显示错误消息,这将帮助您调试问题。

40010

JavaScript 高级程序设计(第 4 版)- 基本引用类型

# RegExp实例方法 exec(),主要用于配合捕获使用,参数是要应用模式字符串 如果找到了匹配项,则返回包含第一个匹配信息数组 如果没有找到匹配项则返回null 返回数组实例包含两个额外属性...:indexinput index是字符匹配模式起始位置 input是要查找字符串 数组第一个元素时匹配整个模式字符串,其他元素时与表达式捕获匹配字符串 如果模式没有捕获,则数组只包含一个元素...(RegExp.lastParen); // s 捕获上一次匹配 } # 模式局限 缺少特性 \A\Z锚(分别匹配字符开始末尾) 联合及交叉 原子 x(忽略空格)匹配模式 条件式匹配...()、endsWith()includes() trim(),删除前后所有空格 repeat(),接收一个整数参数,表示将字符串复制多少次,然后返回拼接所有副本后结果 padStart()padEnd...() 字符串模式匹配方法 match(),返回第一个元素时与整个模式匹配字符串,其余元素则是与表达式捕获匹配字符串 search(),返回模式第一个匹配位置索引 localeCompare

73420

RegExp正则匹配模式汇总

正则表达式提供另一种强大文本搜索处理方式,对于正则表达式,不同语言有着不同实现,JavaScript采用Perl5语法。...1、语法   1)JavaScript我们可以采用内建构造器RegExp()来创建正则表达式对象; var re = new RegExp("j....",""] \S 匹配除空白符以外内容,就相当于  [^\s] \w 匹配所有的字母、数字下划线,相当于  [A-Za-z0-9_] \W 刚好与\w相反 \d 匹配所有的数字信息 相当于 [0-...9] \D 刚好与\d相反 \b 匹配一个单词边界,例如空格标点符号 \B 刚好与\b相反 [\b] 匹配是退格键符(Backspace) \0 这里匹配是null \uoooo 这里匹配是一个...:r)(e)/g , '$1$1' ); //eegular expeession   上面是《JavaScript面向对象编程指南》附录30种正则匹配模式,可以分为直接量字符字符、复制、选择引用分组

2.1K60

59分钟学会正则表达式

正则表达式实现,.是不能用于匹配换行符。”换行符“表示方法不同实现不同。实际编程时,请参考相关文档。本文中,我认为.是可以匹配任意字符。...## 字符 字符是一方括号内字符,表示可以匹配其中任何一个字符。 正则表达式c[aeiou]t,表示可以匹配字符串是”以c开头,接着是aeiou任何一个字符,最后以t结尾”。...[dabaaabcc]与[abc]是相同 重要提示:字符中和字符规则有时不同,一些字符字符是元字符字符外是普通字符。一些字符正好相反。...注意,这其中有三个捕获:月份,日期两位年份。 .捕获内容捕获编号之间用反斜杠分隔,因此你替换表达式应该是20\3-\1-\2....注意它们实际执行调用时层次不同。 在其他编程语言中,正则表达式是由特殊标明,比如使用/。下面是JavaScript例子: 匹配一个数字,\d会简单写成 var regExp = /\d/;.

1.5K60

Shell正则表达式一览表

,所以这些工具就可以使用正规表示法特殊字符来进行字符处理; 注意事项: 不同软件使用上有不同差异:命令不一样但大部分是相同得....语系对正则表达式影响: 由于不同语系编码数据不同,所以造成不同语系数据选取结果有所差异。...分组可以分为捕获捕获....捕获:可以通过从左到右通过其括号对其进行编号,至于后向引用其实就是对匹配一种快捷指令 用法0x02会介绍需要注意零永远代表是整个正则式,通过这样命名保存了匹配分组匹配序列,捕获子序列就可以通过后向引用在表达式中使用了...开头是纯捕获,它不捕获文本 ,也不针对组合计进行计数 就是说如果小括号以?

2.2K30

Shell正则表达式一览表

,所以这些工具就可以使用正规表示法特殊字符来进行字符处理; 注意事项: 不同软件使用上有不同差异:命令不一样但大部分是相同得....语系对正则表达式影响: 由于不同语系编码数据不同,所以造成不同语系数据选取结果有所差异。...分组可以分为捕获捕获....捕获:可以通过从左到右通过其括号对其进行编号,至于后向引用其实就是对匹配一种快捷指令 用法0x02会介绍需要注意零永远代表是整个正则式,通过这样命名保存了匹配分组匹配序列,捕获子序列就可以通过后向引用在表达式中使用了...开头是纯捕获,它不捕获文本 ,也不针对组合计进行计数 就是说如果小括号以?

52710

JavaScript(RegExp正则匹配)

JavaScript,正则表达式是由一个RegExp对象表示.当然,可以使用一个RegExp()构造函数来创建RegExp对象, 也可以用JavaScript 1.2新添加一个特殊语法来创建...2.字符    将单独直接符放进括号内就可以组合成字符.一个字符和它所包含任何一个字符都匹配,所以正则表达式 / [abc] / 字母 "a" , "b" , "c" 任何一个都匹配....由于某些字符非常常用,所以JavaScript正则表达式语法包含一些特殊字符转义序列来表示这些常用.例如,\s匹配空格符,制表符其它空白符, \s匹配则是空白符之外任何字符....如果我们想检索 "java" 这个词自身 (不像在 "javascript" 那样作为前缀),那么我们可以使用模式 /\s java \s /, 它要求词语java之前之后都有空格.但是这样作有两个问题...,那就是正则表达式属性,它说明是高级模式匹配规则.其它正则表达式语法不同,属性是 / 符号之外说明.即它们不出现在两个斜杠之间,而是位于第二个斜杠之后.javascript 1.2支持两个属性

4.2K50
领券