1. 首页
  2. > 公司注册 >

银行开户金额格式(银行开户金额怎么填写)

上一章回顾

回顾下,通过上一章学习,我们学习术语:(非)贪婪,回溯陷阱


在第二章正则表达式组成中我们简略地介绍了一个概念:位置匹配,他用标记要匹配文本的位置,而不是匹配文本的本身,不消费字符,相当于预定义的概念,在环视中,被匹配的文本不包含在最终返回的匹配结果里面,这被称之为不消费。


操作符


说明


(?=Expression)


顺序肯定环视(正向前瞻),表示所在位置右侧能够匹配Expression


(?!pression)


顺序否定环视,表示所在位置右侧不能匹配Expression


(?<=pression)


逆序肯定环视(正向后顾),表示所在位置左侧能够匹配Expression


(?<!pression)


逆序否定环视,表示所在位置左侧不能匹配Expression


positive lookahead 顺序肯定环视(?=Expression)、正向前瞻(右)查找)

一个向前查找的模式就是一个以?=开头的子表达式,需要匹配的文本跟在=后面,我们举一个例子来说明:当你要和你女朋友结婚,你妹纸告诉你:"妈妈说,未来如果要娶我的话,你要先必须在一环路买一个150平的房子",其中娶你媳妇,这个是你的终极目标,所谓正则匹配的最后返回的结果,但是你必须满足一个条件:150平的房子,这个是一个前进路上的条件,如果没有,你娶你媳妇这个事情就没有希望了(没有成功匹配)


少年,努力吧,理解了这个需求,我们可以写成这个表达式


//正向前查找 let reg = "要娶我的话,(?=你要先必须在一环路买一个150平的房子)"; let str = "妈妈说,未来如果要娶我的话,你要先必须在一环路买一个150平的房子";



positive lookbehind 逆序肯定环视(?<=Expression) 正向后(左)查找)

继续上面例子,妹纸告诉你:等我们房子装修好,我们就搬入150的大house吧,其中入住这个是你的终极目标(正则匹配结果),前提条件是要等新房装修好,但这个不是我要的结果,我要的结果是搬入新家,这个就是所谓必须匹配,但是不包含在返回结果,理解了这个需求,我们可以写成这个表达式


//正向后查找 let reg = "(?<=等我们房子装修好,)我们就搬入150的大house吧"; let str = "等我们房子装修好,我们就搬入150的大house吧";

最终返回我们要返回的匹配结果:我们就搬入150的大house吧,少年,恭喜你,搬新家了。


其他两种


  • negative lookahead 顺序否定环视(?!Expression) 负向前查找
  • neative lookbehind 逆序否定环视(?<!Expression) 负向后查找

也差不多就这种理解了。


实际运用例子

场景1:格式大金额数字成行业通用显示格式:三位一体,加千位分隔符(,)这个是一个比较经典的用法,比如土豪账户有$76,543,210这么这么多小钱钱,这是我们常见报表输出,或者银行存折账户打印金额格式,那么数据库实际存储肯定是一串数字:76543210,那么这里就可以用顺序肯定环视来解决这个问题。


const regex = new RegExp("(d)(?=(?:d{3}) $)", gm) const str = `76543210`; const subst = `$1,`; // The substituted value will be contained in the result variable const result = str.replace(regex, subst); console.log($, result); //$7,654,321

分析下:


//模板替换:reg_toutiao_4_1.test1 const regex = /(?<={)[^{] (?=})/gm; const str = `My name is {{name} ,Im from {city}, {province}`; const subst = { "name": "Liang.Z", "city": "Chengdu", "province": "SiChuan Province" }; // 替换的值将会被包含在结果变量中 const result = str.replace(regex, (match, pos) => subst[match] || ""); console.log(Substitution result: , result); //Substitution result: My name is {{Liang.Z} ,Im from {Chengdu}, {SiChuan Province}

匹配子表达式分组提取动态键值:


总结:

关键字:位置匹配、环视


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至123456@qq.com 举报,一经查实,本站将立刻删除。

联系我们

工作日:9:30-18:30,节假日休息