2014-03-04 24 views
0

我想要一個perl正則表達式這將打印文件名稱那些只有.txt擴展名在最後沒有別的。perl的正則表達式:windows編程

我已經寫了一個reg exp,但它打印的所有文件的擴展名爲.txt也是.txt *文件。我不想

if($filename=~m/xxx\\.txt/i) 

我現在也嘗試以下,但它也沒有工作

if($filename=~m/xxx\\.txt$/i) 

回答

2

你需要$邊界指示字符串的結尾。

if ($filename =~ m/\.txt$/i) 

請注意,您還可以使用glob讓所有的文本文件

my @textfiles = <*.txt>; 
+0

我用這一點,但它不工作 – raj

+0

使用什麼我給你。在你的例子中,你有一個逃脫的backslach,以及字符串'xxx'。你只需要'\ .txt $'包含正則表達式。 – Miller

0

難道是Windows將在文件名末尾添加有趣的事情? 嘗試:

if($filename =~ /\.txt\s*/)