文档章节

正则表达式里面 .* 和 .*? 有什么区别

L
 LM_Mike
发布于 2017/04/27 15:50
字数 401
阅读 5
收藏 0
var str = "#mydiv";
var elem = /[^#].*/.exec(str)[0];
console.log(elem);

上面代码可以认为ID选择器的简化意思,[^#]是不匹配“#”字符, 特别注意正则表达式里的.*

百度那大牛的解答

\s匹配任意的空白符(包括空格,制表符(Tab),换行符,中文全角空格)

\S则是任意不是空白符的字符

?涉及到贪婪模式

当正则表达式中包含能接受重复的限定符时,通常的行为是(在使整个表达式能得到匹配的前提下)匹配尽可能多的字符。以这个表达式为例:a.*b,它将会匹配最长的以a开始,以b结束的字符串。如果用它来搜索aabab的话,它会匹配整个字符串aabab。这被称为贪婪匹配。

有时,我们更需要懒惰匹配,也就是匹配尽可能少的字符。前面给出的限定符都可以被转化为懒惰匹配模式,只要在它后面加上一个问号?。这样.*?就意味着匹配任意数量的重复,但是在能使整个匹配成功的前提下使用最少的重复。现在看看懒惰版的例子吧:

a.*?b匹配最短的,以a开始,以b结束的字符串。如果把它应用于aabab的话,它会匹配aab(第一到第三个字符)和ab(第四到第五个字符)

© 著作权归作者所有

共有 人打赏支持
L
粉丝 1
博文 269
码字总数 41374
作品 0
深圳
私信 提问
Mysql必知必会(4):使用正则表达式搜索(REGEXP)

本文主要介绍如何在Mysql中使用正则表达式进行搜索。 正则表达式是一个非常大的内容,我会在之后专门写博客介绍,这里只是简介一些常用匹配模式 博客文章地址:http://weiya.me/item/59.htm...

星空幻颖
2017/02/05
0
0
【python标准库学习】re模块

1.什么是re 正则表达式一门相对通用的语言,在python中也有对正则表达式的支持,那就是的内置re模块。正则表达式就是一系列的规则去匹配字符串然后进行相应的操作,这些规则网上一搜一大片,...

Betty__
2016/10/14
2
0
Python3正则表达式(Python3 Regular Expression)

引子 语法 注意事项 Python3正则工具 正则表达式是一种通用的工具,并不只属于Python语言,基本大部分语言都封装好了这个工具。 引子 正则表达式(Regular Expression)是一种用于做字符串匹...

qq_32690999
2017/12/05
0
0
出来混总是要还的-JS正则前传

前言: 正则表达式一直是个人痛点, 相信很多人 ( 说的就是你 ) 跟我一样存在类似的情况, 正则是反复学, 反复忘, 从个人角度看主要的原因还是:较少的使用场景, 如果像数组的几个常用方法一样,...

ntscshen
2018/10/17
0
0
12.25-- 特殊符号系列,通配符与正则表达式

12.25 通配符与正则表达式 内容: 1. 特殊符号系列 2. 通配符 3. 正则表达式分类 4. 正则与通配符区别 第1章 特殊符号系列 1.1 无分类系列 $ 1.命令行 取出变量内容 echo $LANG 2.awk中 取某一...

千古东风
2017/12/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

精读《论语》读后感作文3600字

精读《论语》读后感作文3600字: 学而篇第一:子曰:“学而时习之,不亦说乎?有朋友自远方来,不亦悦乎?人不知,而不愠,不亦君子乎? 朱熹解:即学而又时时习之,则学者熟,而衷心喜悦,其...

原创小博客
30分钟前
0
0
CPU内存结构

开局一张图 由于CPU频率太快了,为解决直接读取内存的数据上的延迟,在CPU和内存之间,存在3级缓存。 CPU在解决和缓存不一致上采用两种方式: 缓存一致性协议 总线锁机制 CPU CPU的一个时钟周...

春哥大魔王的博客
33分钟前
1
0
记一次centos 7内核升级事故

情景 公司做等保3测评,在进行系统漏洞检测时发现内核存在漏洞,需要进行升级。 名称 版本 升级前内核 CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core) 升级后内核 CentOS Linux (3.10.0-957...

阿dai
58分钟前
8
0
PowerDesigner操作

1.去掉生成DDL里的注释 Database -> Edit Current DBMS -> Script -> Syntax -> BlockComment,去掉BlockComment里面的value内容。...

了凡川
今天
3
0
Django集成Markdown编辑器【附源码】

专注内容写作的你一定不要错过markdown 简单介绍 markdown是一种标记语言,通过简单的标记语法可以使普通的文本内容具有一定的格式,使用非常简单,学习成本极低 目前各大Blog平台都已支持m...

运维咖啡吧
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部