正则表达式,用于识别数字并删除逗号 [重复]

regex expresion to identify digits and remove comma [duplicate]

提问人:Error Replicator 提问时间:11/14/2023 更新时间:11/14/2023 访问量:51

问:

我有一个简单的案例,但我无法找到解决方案。 简单文本

this is number 88 and rest of the text

我想从中提取所有数字(在本例中为 88)很简单 \d+ 或 [0-9]+,我就完成了。 问题是有时我会在以下形式中使用逗号的文本:

this is number 2,563 and rest of the text

当我应用上述任何一种模式时,它给我留下了 2 565 - 在 2 和 5 之间有一个空格,最后会导致新行,所以

2
563

在我将其导出到 excel 之后。 问题是我使用的是自定义工具(不是编程语言),该工具将文本作为输入、正则表达式模式和导出输出除外。 这就是为什么我需要消除空间并产生 88 或 2563 或任何其他数字的单一模式。逗号显然是每 3 个位置,因此它也可以是 1,345,321 以及“这是数字......和文本的其余部分”

我怎样才能克服这个问题?

正则表达式

评论

0赞 PM 77-1 11/14/2023
您的工具能够执行哪些操作?只是匹配还是替换
0赞 sln 11/14/2023
你说“一个简单的案例”,然后说千位分隔符,然后说一个数字。有数百种解决方案。之前,之后,什么是数字,什么是边界,等等。什么期望?由您来定义。为什么要在你尚未定义的数百种可能性中要求期望? 真的和 regex101.com/r/NrAasX/1 一样好[,\d]+^(?|(\d{1,3}(?=([.,\h])?)(?:\2\d{3})*)(?:(?!\2)[.,](\d*))|(\d+)()(?:[.,](\d*))?|()()[.,](\d+))$

答:

1赞 Jan 11/14/2023 #1

你可以使用

\b\d+(?:,\d+)*

regex101.com 上观看演示
您没有指定您的编程语言(如果有的话),但这适用于大多数引擎。