需要正则表达式删除除数字之外的所有内容

时间:2015-01-05 02:53:21

标签: regex

我需要除[^ 0-9 \ n]以外的东西,我想要一个正则表达式(但不知道如何制作一个),它捕获任何数字模式中的任何东西," 0000000000"或" 000-000-0000"或基本上任何在前或中间存在空格和/或特殊字符的数字。

所以任何数字,即使像这些(626 *)34a2- 4387)也应转换为6263424387

如何实现这一目标?我觉得它太难了?

2 个答案:

答案 0 :(得分:9)

您可以使用以下方式搜索所有非数字:

\D+

OR

[^0-9]+

并用空字符串替换。

RegEx Demo

答案 1 :(得分:3)

我自己总是忘记这个,然后去网上寻找答案。这是为了我将来的参考,以及互联网的其余部分

const rawNumber = '(555) 123-4567';
const strippedNumber = rawNumber.replace(/\D+/g, '');

当然,我上面的示例是针对JavaScript的,但它可以轻松地适应其他语言。原帖没有说明语言。