我正在lua工作,我需要匹配通過文件IO接收的兩行部分。我對正則表達式沒有經驗,我被告知lua沒有內置完整的正則表達式支持(但是如果需要,我有一個庫提供)。有人可以幫助我構建正則表達式來匹配必要的部分嗎?正則表達式匹配一條線的兩個不同部分
"bor_adaptor_00.odf" 3.778
^^^^^^^^^^^^^^ ^^^^^
i need this in and this in
a string a number
我正在lua工作,我需要匹配通過文件IO接收的兩行部分。我對正則表達式沒有經驗,我被告知lua沒有內置完整的正則表達式支持(但是如果需要,我有一個庫提供)。有人可以幫助我構建正則表達式來匹配必要的部分嗎?正則表達式匹配一條線的兩個不同部分
"bor_adaptor_00.odf" 3.778
^^^^^^^^^^^^^^ ^^^^^
i need this in and this in
a string a number
^"(.*?)"\s+(\d[\d.]*)$
說明:
不知道如何在lua中使用它,但應該幫助您開始。
另一方面,這是一個非常簡單的字符串,所以不用正則表達式就可以解析它。
你說得對,我想我可以使用lua的工具只需將其解析爲數字和單詞,然後從那裏開始 – RCIX 2009-09-15 12:08:11
我做了一個例子:
s = '"bor_adaptor_00.odf" 3.778'
val1, val2 = string.match(s,'(%b"")%s*([.0-9]*)')
print(val1, val2)
輸出:
"bor_adaptor_00.odf" 3.778
看起來就像你基於兩個或多個空白字符分割,對不對?我不想污染答案,因爲我對Lua並不熟悉,但這似乎是您可以採取的一種方法。 – 2009-09-15 11:53:51
你可以在安裝文件夾中的Lua文檔中檢查字符串庫,即file:///.../Lua/5.1/docs/luarefv51.html#The_string_library – 2009-09-15 11:58:38