关于正则表达式的问题:(.+)、(.)+、.+不是一样的吗?

2016-02-19 13:50 0 1 收藏

下面图老师小编要跟大家分享关于正则表达式的问题:(.+)、(.)+、.+不是一样的吗?,简单的过程中其实暗藏玄机,还是要细心学习,喜欢还请记得收藏哦!

【 tulaoshi.com - Web开发 】

再补一个问题
(.+)、(.)+、.+不是一样的吗?

[Ctrl+A 全选]
为什么上面代码运行结果都不一样
有的结果还用逗号分开 是怎么回事呢
 

代码如下:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

exec()返回的是匹配到符合模式的内容的数组(由整体和按顺选排列的子片断组成),用alert显示时会显示数组toSting()的结果(就是用逗号隔开的字符串)。
在正则表达式中 . (点)表示除换行符以外的任意字符(在加上m参数打开多行匹配模式时表示任意字符),用转义符号.表示点这个字符本体。
 

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

代码如下:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

var Pattern3=/(.)+/i;
alert(Pattern3.exec("p align=center onclick=dsa")[1])
为什么得到的是a而不是p?
试试alert(Pattern3.exec("p align=center onclick=dsa6")[1])将得到6
(.)+一路匹配过来,返回的是最后匹中的结果。

+(加号)表示+前面的模式(或模式片断)当有至少一个、可有多个。

出现在正则表达式中的()所包围的的内容被视为模式中的子片断,会在exec()中体现出来。

来源:https://www.tulaoshi.com/n/20160219/1605374.html

延伸阅读
标签: ASP
  14.后向引用 正则表达式一个最重要的特性就是将匹配成功的模式的某部分进行存储供以后使用这一能力。请回想一下,对一个正则表 达式模式或部分模式两边添加圆括号将导致这部分表达式存储到一个临时缓冲区中。可以使用非捕获元字符 '?:', '?=', or '?!' 来忽略对这部分正则表达式的保存。 所捕获的每个子匹配都按照在正则表达式模式中...
标签: PHP
如果我们问那些UNIX系统的爱好者他们最喜欢什么,答案除了稳定的系统和可以远程启动之外,十有八九的人会提到正则表达式;如果我们再问他们最头痛的是什么,可能除了复杂的进程控制和安装过程之外,还会是正则表达式。那么正则表达式到底是什么?如何才能真正的掌握正则表达式并正确的加以灵活运用?本文将就此展开介绍,希...
标签: Web开发
####################### #作者:雨浪 版权所有,翻版说一下 # #QQ:270499458 # ####################### 近段日子几个刚学了正则表达式的朋友问我在asp中怎么用.呵呵.虽然简单,还是写出来吧,正则表达式的基本知识我就不说了.其实已经有...
标签: Web开发
前言 正则表达式是烦琐的,但是强大的,学会之后的应用会让你除了提高效率外,会给你带来绝对的成就感。只要认真去阅读这些资料,加上应用的时候进行一定的参考,掌握正则表达式不是问题。 索引 1. 引子 目前,正则表达式已经在很多软件中得到广泛的应用,包括*nix(Linux, Unix等),HP等操作系统,PHP,C#,Java等开发环境,以...
标签: Web开发
引言 本文将逐步讨论一些正则表达式的使用话题。本文为本站基础篇之后的扩展,在阅读本文之前,建议先阅读正则表达式参考文档一文。 1. 表达式的递归匹配 有时候,我们需要用正则表达式来分析一个计算式中的括号配对情况。比如,使用表达式 "\( [^)]* \)" 或者 "\( .*? \)" 可以匹配一对小括号。但是如果括号内还嵌有一层...

经验教程

705

收藏

15
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部