文档章节

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

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
博文 265
码字总数 40994
作品 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
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

没有更多内容

加载失败,请刷新页面

加载更多

存储过程知识点收集

记录下,以后要常用的问题 1、获取刚刚插入数据产生的ID SCOPE_IDENTITY 返回当前作用域的插入后产生的一条ID @@IDENTITY 返回当前表的最后一条ID

轻轻的往前走
5分钟前
0
0
elixir keyword和map的区别

┌──────────────┬────────────┬───────────────────────┐ │ Keyword List │ Map/Struct │ HashDict (deprec...

wmzsonic
8分钟前
0
0
解决bootstrap-table-fixed-columns.js显示列与隐藏列按钮切换表格不对齐

<table class="table-striped table-hasthead nowrap" id="tableTest1" data-search="true" data-show-columns="true" data-fixed-columns="true" data-fixed-number="3"></table> 含有dat......

tianyawhl
11分钟前
0
0
ES6 系列之 defineProperty 与 proxy

摘要: ## 前言 我们或多或少都听过“数据绑定”这个词,“数据绑定”的关键在于监听数据的变化,可是对于这样一个对象:`var obj = {value: 1}`,我们该怎么知道 obj 发生了改变呢? ## def...

阿里云官方博客
16分钟前
0
0
美团点评携手 PingCAP 开启新一代数据库深度实践之旅

一、背景和现状 在美团,基于 MySQL 构建的传统关系型数据库服务已经难于支撑公司业务的爆发式增长,促使我们去探索更合理的数据存储方案和实践新的运维方式。随着近一两年来分布式数据库大放...

TiDB
16分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部