2013-02-07 227 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