讓我通過說我是一個完整的業餘愛好者來談RegEx,並且在幾天前纔開始。我試圖解決一個格式化文件的問題,並且遇到了特定類型的數據。輸入文件的結構是這樣的:正則表達式部分字符串CSV匹配
Two words,Word,Word,Word,"Number, number"
我需要做的是格式,像這樣......
"Two words","Word",Word","Word","Number, number"
我有過
s/,/","/g
工作正則表達式模式,但它也會替換已經引用的數字,數字部分中的逗號,這會導致字段分隔並中斷文件。實際上,我需要修改我的模式以用逗號「,」[逗號引用]替換逗號,但只有當該逗號後面沒有空格時。請注意,其他字段在逗號後面永遠不會有空格,只有分隔號碼列表。
我設法寫上去
s/,[A-Za-z0-9]/","/g
其中,同時匹配相應的字符串,將取代逗號和下面的字母。我聽說過反向引用,認爲這可能是我需要使用的?我的理解是,
s/(,)[A-Za-z0-9]\b
應該工作,但它沒有。
任何人有想法?
我想通過CSV解析器來做到這一點,但我被賦予了這些文件,因爲它們沒有我在實際格式中的任何說法。所以我卡在RegEx上擺弄。 – 2008-10-08 03:23:14
s /,(?!)/「,」/ 工作完美,謝謝。我使用Perl,因此我可以在發送文件時針對這些文件運行腳本。保存在解析器中並在那裏使用。此外,無論如何,我還是想學習Perl和RegEx,這樣一舉兩得。謝謝你的幫助 :)。 – 2008-10-08 04:28:39