正则捕获的细节及replace分析

  1.var reg=/./与var reg=/\./的区别?

  前者代表任意一个字符,

  后者代表这个字符串中得有一个点

  2.?的使用

  如果单独的一个字符后面带?

  代表1个或0个这个字符的出现;  列如: /\d?/

  如果量词+后面带?  取消正则的贪婪性  在捕获的阶段

  3.捕获:

  1.普通捕获  正则的方法exec()  字符串的方法match()

    普通捕获有懒惰性:

    给正则添加一个修饰符g,可以解决;

    match是将所有捕获的内容放在一个数组中,并返回,match就是exec()对函数的简单封装

  2.分组捕获:还是正则的方法exec() 字符串的方法match()

    只不过正则结构发生了变化加()     (分两种捕获,全局和非全局)

  非全局  var reg=/(a)(b)/  exec()和match()在非全局下分组捕获相同的,分组捕获在捕获的过程中,即捕获大正则的内容,也捕获分组中的内容,并返回

  全局   var reg=/(a)(b)/g  exec()和match()在全局下的分组捕获是不一样的,exec()不变,但是match()只捕获  

  

原文地址:https://www.cnblogs.com/shangjun6/p/10145204.html

时间: 2024-11-29 05:49:22

正则捕获的细节及replace分析的相关文章

【网络与系统安全】使用wireshark捕获SSL/TLS包并分析

TLS运作方式如下图: 捕获的TLS数据包如下: 接下来分析数据包 24号数据报,忽略网络层和传输层直接看安全套接字层 展开后: 可见第一步由客户端发送加密协议.TLS版本.随机数等信息. 26号包: 服务器传送TLS版本号.随机数.加密方式等信息 30号报文: 服务器向客户机发送证书,用以证明服务端身份 32号报文: 35号报文: 32和35号报文在运行Diffie-Hellman算法后分别交换了pubkey并生成相同的会话密钥 37号报文:服务端向客户端发送一个票据用以TLS连接 至此连接完

正则捕获

目的: 给表达式 '10+6/5-4*2' 中每个运算符左右都加一个空格字符,变成:'10 + 6 / 5 - 4 * 2' 思路: 分组.捕获.替换 1. 替换字符中含参数 \1 (此处不能叫参数,想不到叫什么,那就不管它~~) >>> bds = '10+6/5-4*2' # 表达式 >>> m = re.sub(r'([*+-/])', ' \1 ', bds) # 注意\1左右皆有一个空格!! >>> m '10 + 6 / 5 - 4 * 2

vim 正则 捕获

在正规表达式中使用 \( 和 \) 符号括起正规表达式,即可在后面使用\1 \2等变量来访问捕获的内容. 将捕获内容前后交换,如下: :s/\(\haha\)\(hehe\)/\2\1/

PLSQL_基础系列1_正则表达REGEXP_LIKE / SUBSTR / INSTR / REPLACE

2014-11-30 BaoXinjian 一.摘要 ORACLE中的支持正则表达式的函数主要有下面四个: 1 REGEXP_LIKE :与LIKE的功能相似 2 REGEXP_INSTR :与INSTR的功能相似 3 REGEXP_SUBSTR :与SUBSTR的功能相似 4 REGEXP_REPLACE :与REPLACE的功能相似 它们在用法上与Oracle SQL 函数LIKE.INSTR.SUBSTR 和REPLACE 用法相同. 二.调用格式 1. 格式: REGEXP_INSTR

正则知识点解读及常用表达式(判断有效数字、手机号邮箱等)

---恢复内容开始--- 1.正则仅仅就是用来处理字符串的:匹配.捕获 匹配:验证当前的字符串是否符合我们的规则(每一个正则都是一个规则) 捕获:在整个字符串当中,把符合规则的字符都依次的获取到--->exec.match.replace 2.正则的组成:元字符.修饰符 元字符: 特殊意义的元字符: \d匹配一个0-9的数字相当于[0-9],和它相反的 \D匹配一个除了0-9的任意字符相当于[] \w匹配一个0-9.a-z.A-Z_ 的数字或字符,相当于[0-9a-zA-Z_]  . \s匹配一

60分钟正则从入门到深入

https://segmentfault.com/a/1190000013075245 本文转载自网络.转载编辑过程中,可能有遗漏或错误,请以原文为准.原文作者:水墨寒湘原文链接:https://juejin.im/post/582dfc... 正则表达式对于我来说一直像黑暗魔法一样的存在.手机正则去网上搜,邮箱正则去网上搜,复杂点的看看文档拼凑一下,再复杂只能厚着脸皮让其他同事给写一个,从来没有系统的学习过.关于作者这几句话,我是深有感触,有幸畅游网络看到这篇博文和对应的慕课网视频,让我收获颇

浅谈ELK日志分析平台

作者:珂珂链接:https://zhuanlan.zhihu.com/p/22104361来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 小编的话 "技术干货"系列文章意在分享技术牛人的知识干货,每期主题都不一样哟!期待各位读者在文后发表留言,来一场技术上的交流和思想上的碰撞! 2016年7月20日,本期品高云公开课由叶春草带来"可视化案发现场--浅谈ELK日志分析平台"的分享. 分享嘉宾 叶春草现就职于品高云软件技术支持工程师.就职

java学习笔记-String源码分析(2)

承接上篇文章关于String源码的分析,我们继续总结String中的方法 方法汇总 4.subString方法 public String substring(int beginIndex) public String substring(int beginIndex, int endIndex) subString()有2个重载版本,beginIndex指定开始索引(包括),endIndex指定结束索引(不包括).两个方法实现类似,我们关注一个即可. public String substri

正则应用

首先统计每一个字符出现的次数,并且统计出maxNum的输出 var str = "hsahsjafjshfjshafjksh",obj = {}; str.replace(/w/g,function()){ var key = argument[0]; if(obj[key]>=1){ obj[key]++; return; } obj[key]=1; };console.log(obj);->实现统计每一个字符出现的次数: var maxNum = 0; for (var