2012-10-25 33 views
1

有人可以告訴我的正則表達式表達式從以下任意文件名中提取需要的數據C#正則表達式表達導入

「EUR/USD」:

QR_IB_EURUSD.Quote.csv

QR_Integral_EURUSD.Quote.csv

QR_Currenex_EURUSD.Quote.csv

這需要與其他貨幣對正常工作。

我知道\ .. *將關閉文件名,但我如何得到帶有反斜槓的符號?

我不知道正則表達式是什麼語言,但它的C#.NET或Java

![在這裏輸入的形象描述] [1]

回答

1
_(\w+). 

然後你提取分組的價值。

+0

這給了我QRQuote.csv不知道你的意思,然後提取分組的價值我從來沒有在我的生活中寫過正則表達式= x – parliament

+1

你使用什麼語言? – ebaxt

+0

哦,對不起,我沒有以編程的方式做到這一點,我需要將表達式輸入到帶有GUI的軟件中。我認爲它是C#,但它可能是Java,不確定。生病檢查文件現在 – parliament

0

這應該工作

^\w+_\w+_(\w+)\.Quote\.csv$ 

下面是一些JavaScript來證明

var test1 = [ 
    "QR_IB_EURUSD.Quote.csv", 
    "QR_Integral_EURUSD.Quote.csv", 
    "QR_Currenex_EURUSD.Quote.csv", 
    "QR_IB_AUDCAD.Quote.csv" 
    ]; 

for(var i=0; i<test1.length; i++) 
    test1[i] = test1[i].match(/^\w+_\w+_(\w+)\.Quote\.csv$/i)[1]; 

alert(test1); 
+0

中猜出它是什麼語言,這只是給了我一個空白(刪除整個字符串) – parliament

+0

@Vazgen - 如果你不與我們分享,你使用什麼編程語言,什麼應用程序,甚至是你的上下文正在應用這個「正則表達式」,那麼它不可能明確地幫助你。 –

+0

應用程序是用java編寫的,但用戶應該使用的開發框架是。淨。我堅信這個正則表達式在c#中,但它可能是java。我在OP中編輯了圖像以顯示文件擴展名的刪除,也許可以從這個提示中猜出它的語言 – parliament

0

嘗試了這一點,這是在PERL,將如果這個詞有歐元或檢測USD

my $file_name = "QR_Integral_EURUSD.Quote.csv" #file name 
$file_name =~ m/EUR|USD/ 

您可以創建任何貨幣對...

m/EUR|USD/ 
m/INR|AED/ 

或添加所有在一個

m/EUR|AED|USD|INR/ 
+0

這不適用於其他貨幣對。 – ebaxt

+0

謝謝,但這不會做的工作我沒有以編程方式做它,它是不是在Perl中定義(見OP中的圖像) – parliament

0
 
$ echo QR_Currenex_EURUSD.Quote.csv | \ 
sed -r 's/(^.*[_])([A-Z]{3})([A-Z]{3})([.].*$)/\2\/\3/' 
EUR/USD 

在這種情況下,正則表達式是(^.*[_])([A-Z]{3})([A-Z]{3})([.].*$)和替換是\2\/\3

+0

謝謝,這給了我「2/3」,雖然 – parliament

+0

你可能會嘗試加倍數字前面的反斜槓。 – kbulgrien