2016-02-28 36 views
1

我想要拿出一個正則表達式,可以忽略任何字符在一行(在我讀了我的相關輸入後)。在某種程度上,它將txt文件中某個點後面的字符當作註釋來處理,但註釋是「任何事物」,但是我需要的是相關信息。以下是我已經和它的工作,但我想知道如果有來處理這更優雅的方式:fscanf()的正則表達式會忽略一行中的任何字符/字符串/特殊字符?

fscanf(input_file, "%*[a-zA-Z .^$*+?()[{\'\" \t]", temp_char)

temp_char是一個char *緩衝區。

感謝

+1

'fscanf()'不會識別正則表達式。 – MikeCAT

+0

@MikeCAT:true,'fscanf'接受字符類,有些人錯誤地調用正則表達式。 – chqrlie

+1

@chqrlie我仍然對陳述的「及其工作」感到困惑。發佈的格式字符串具有兩次「space」,並錯過了一些字符,例如']}'。很難說這些是否是拼寫錯誤,或者被問到的問題可能與書面問題不同。 – dxiv

回答

3

如果你想從\n和最終\n消耗不同的每一個字符,使用這些語句:

fscanf(input_file, "%*[^\n]"); 
fscanf(input_file, "%*c"); 

首先忽略來自\n不同的所有字符,但未能如果有沒有。 第二個消耗\n字符。