Loading [MathJax]/jax/output/CommonHTML/jax.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >VBA:正则表达式(9) -添加千分位(2/3)

VBA:正则表达式(9) -添加千分位(2/3)

作者头像
Exploring
发布于 2023-10-09 05:59:10
发布于 2023-10-09 05:59:10
41200
代码可运行
举报
运行总次数:0
代码可运行

上一篇文章(参见文末的参考资料[1])提到,简单合并正则表达式的运行结果并不理想,问题在于小数部分也可能匹配到。

2 继续试错

目前的重点是如何过滤到小数部分的数字,使之不被捕获。使用如下的正则表达式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
((\.\d+[\w\W]*?)*?\d)(?=(\d{3})+(\D|$))

(1)?=(\d{3})+(\D|。\D,表示非数字字符。

(2)\.\d+[\w\W]*?,也就是捕获组$2。小数点后至少跟一个数字,非贪心匹配任意数量的任意字符(可以有,也可以没有)。\w匹配字母和数字;\W匹配非字母和非数字。[\w\W]就是匹配任意字符。多提一句,字符.,匹配的是任意字符,但换行符除外。

(3)($2)*?\d,匹配任意数量的匹配组2,后跟一个数字。也就是说,可以有或者没有小数点。

运行效果:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
文本1123456789
替换文本:$1,
结果:123,456,789
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
文本2:
圆周率3.1415926535
珠穆朗玛峰高度8848.0

替换文本:$1,

结果:
圆周率3.1415926535
珠穆朗玛峰高度8,848.0
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
文本31234576.7898
替换文本:$1,
结果:1,234,576.7,898

可以看出,包含小数的字符串出现在文本末尾时,正则表达式的运行效果还是不太理想。由于小数部分符合匹配规则,因此,小数部分也添加了千分位。

(未完待续)

参考资料:

[1] VBA:正则表达式(9) -添加千分位(1/3)

[2] 正则测试(https://tool.chinaz.com/regex)

[3] VBA之正则表达式(10)-- 添加千分位(2/3)(https://blog.csdn.net/taller_2000/article/details/89792241)

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-10-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据处理与编程实践 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
VBA:正则表达式(9) -添加千分位(1/3)
在之前的一篇文章中介绍了环视,参见文末的参考资料[1]。环视的一个经典应用是添加千分位。添加千分位的一个正则表达式如下:
Exploring
2023/10/08
3410
VBA:正则表达式(9) -添加千分位(1/3)
VBA:正则表达式(9) -添加千分位(3/3)
上一篇文章(参见文末的参考资料[1])提到,包含小数的字符串出现在文本末尾时,正则表达式的运行效果还是不太理想。由于小数部分符合匹配规则,因此,小数部分也添加了千分位。
Exploring
2023/10/10
3750
VBA:正则表达式(9) -添加千分位(3/3)
十分钟学会正则表达式
https://segmentfault.com/a/1190000038502198
@超人
2021/02/26
4180
【Python】教你彻底了解Python中的正则表达式
正则表达式(Regular Expression,简称regex)是一种强大的字符串匹配和操作工具,用于搜索、匹配和替换字符串。在Python中,re模块提供了正则表达式的支持。本文将深入探讨Python中的正则表达式,涵盖正则表达式的基本概念、常用正则表达式模式、Python中正则表达式的使用方法、常见操作与应用场景,以及一些实际应用示例。
E绵绵
2025/05/25
1380
JavaScript正则表达式进阶指南
例如,正则表达式/F.*g/会匹配“以F开头,以g结尾的字符串”,因此可以匹配"Hello, Fundebug!"中的Fundebug,exec方法会返回一个数组,其第一个元素为所匹配的子字符串。
Fundebug
2018/05/24
6786
JavaScript正则表达式进阶指南
正则表达式:断言(环视)
1 顺序肯定环视1.1 匹配指定内容的左侧位置1.2 匹配数字前的小写英文单词部分1.3 校验字符串长度2 顺序否定环视3 逆序肯定环视4 逆序否定环视
Exploring
2023/10/04
1.5K0
正则表达式:断言(环视)
JavaScript正则表达式进阶指南
例如,正则表达式/F.*g/会匹配“以F开头,以g结尾的字符串”,因此可以匹配"Hello, Fundebug!"中的Fundebug,exec方法会返回一个数组,其第一个元素为所匹配的子字符串。
Fundebug
2019/06/10
3650
JavaScript正则表达式进阶指南
正则表达式语法速查
正则表达式,又称规则表达式,是一种文本模式,通常用来检索、替换和控制文本。主要包括a 到 z 的字母以及一些特殊的元字符。正则表达式的应用范围非常之广泛,最初是由Unix普及开来的,后来在广泛运用于Scala 、PHP、C# 、Java、C++ 、Objective-c、Perl 、Swift、VBScript 、Javascript、Ruby 以及Python等等。学习正则表达式,实际上是在学习一种十分灵活的逻辑思维,联系通过简单快速的方法达到对于字符串的控制。
很酷的站长
2022/12/02
5560
正则表达式语法速查
VBA:正则表达式(4) -提取日期和金额
示例:数据保存在A列中,需要将其中的日期和金额分别提取至B列和C列。其中日期有两种不同的格式,金额可能包含小数点、千分位和货币标识。
Exploring
2023/09/24
4890
VBA:正则表达式(4) -提取日期和金额
正则表达式介绍与使用
正则表达式(Regular Expression)描述字符串结构模式的形式化表达方法,正则(Regex)表达式处理的对象的字符串或者抽象地说是一个对象序列(计算机体系的本质数据结构) 正则表达式是一种文本模式包括普通字符(例如a 到 z 之间的字母)和特殊字符(称为”元字符”),用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”;
全栈工程师修炼指南
2020/10/23
1.3K0
正则表达式介绍与使用
正则表达式
陳斯托洛夫斯記
2024/08/07
1290
Java 正则表达式的用法和实例
6、\S符号:非空字符 7、\s符号:空字符,只可以匹配一个空格、制表符、回车符、换页符,不可以匹配自己输入的多个空格。 8、\r符号:空格符,与\n、\tab相同
全栈程序员站长
2022/08/30
1.2K0
Java 正则表达式的用法和实例
30分钟玩转「正则表达式」
推荐阅读:Jeffrey Friedl 《精通正则表达式(第3版)》,本文是该书的读书笔记。
Yano_nankai
2018/10/08
2K0
30分钟玩转「正则表达式」
使用Python验证常见的50个正则表达式
正则表达式(Regular Expression)通常被用来检索、替换那些符合某个模式(规则)的文本。
小小詹同学
2020/12/28
2.1K0
使用Python验证常见的50个正则表达式
30分钟玩转「正则表达式」
推荐阅读:Jeffrey Friedl 《精通正则表达式(第3版)》,本文是该书的读书笔记。
Yano_nankai
2020/12/01
9220
正则表达式快速入门
6月进入前端技术的学习,正则算是跳不过的一个坎了,这部分没有太多需要理解的内容,知道就是王道。 正则表达式(Regular Expression):在代码中常简写为regex,使用单个字符串来描述、
用户1216676
2018/01/24
1.4K0
正则表达式快速入门
正则表达式用法简介与速查
匹配以“sales”开头,后跟任意一个字符,再后以“.xls”结尾的10字符组合。
全栈程序员站长
2021/07/08
3.8K0
正则表达式
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huyuyang6688/article/details/11712743
DannyHoo
2018/09/13
1.6K0
正则表达式
正则表达式总结 原
[总结] 主要区分match具有g和没有g的区别.然后没有g的时候与exec是等价的. 而exec返回的串类型不受g影响但具有g时候会驱动lastIndex可以模拟遍历所有匹配.可以与match具有g的时候等价 ,与循环配合使用全局匹配(如while(){}).
tianyawhl
2019/04/04
5120
正则表达式总结
                                                                            原
正则表达式的学习与小结
目前,正则表达式已经在很多软件中得到广泛的应用,包括*nix(Linux, Unix等),HP等操作系统,PHP,C#,Java等开发环境,以及很多的应用软件中,都可以看到正则表达式的影子。
阳光岛主
2019/02/19
7470
相关推荐
VBA:正则表达式(9) -添加千分位(1/3)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验