2013-02-07 316 views
1

数我有这样正则表达式提取字符串

file-myfle_20130207_094852am.csv 

如何做一个字符串我去写的正则表达式只提取数字

20130207094852 
+0

'找到-name'* .csv格式| sed s/[^ [:digit:]] //' – rbernabe

+0

您正在使用什么样的工具?你究竟在做什么? (文件重命名?) – nhahtdh

+0

你的问题没有多大意义。正则表达式不会“提取”任何东西,它们会匹配模式。如果你想将你的输入字符串转换为所需的输出字符串,这是一个有点不同的事情。 –

回答

5

这样的(这是很常见在Regex教程中)

\d+ 

每组都将是数字。

+0

可能要使用*来解释数字的缺失。 – Achrome

+0

@AshwinMukhija,no。没有号码不是一个数字(这是有趣的)。关闭主题,+5 for'\ d +',fu SO ... ;-) – Qtax

+0

这是至多不完整的解决方案。问题中的数字用'_'分隔。 – nhahtdh

0

请参阅我对上下文问题的评论。

从shell:

echo file-myfle_20130207_094852am.csv | tr -cd /0-9/ 
20130207094852 

用Perl:

echo file-myfle_20130207_094852am.csv | perl -pe 's/\D//g' 
20130207094852