我是Lua的新手。Lua中的n位數字模式匹配
說我有一個字符串 「1234567890」。
我想遍歷所有可能的3位數字。 (即123,234,345,456....
)
for m in string.gmatch("1234567890","%d%d%d") do
print (m)
end
但是這給了我輸出123,456,789
。
我應該使用什麼樣的格局?
其次,一個相關的問題,我怎麼指定3-digit
多少? "%3d"
似乎不起作用。唯一的辦法是"%d%d%d"
?
注意:這沒有標籤Regular expression
,因爲Lua沒有RegExp。 (ATLEAST本身)
感謝提前:)
更新:琥珀指出的,是在Lua沒有 「重疊」 相匹配。並且,關於第二個查詢,我現在使用string.rep("%d",n)
卡住了,因爲Lua不支持固定的重複次數。
'( 「%d」):代表(N)'是寫調用'函數string.rep稍微更慣用的方式'。它的工作原理是因爲'string'默認情況下是所有字符串值的元表單。 – RBerteig 2010-10-17 22:03:32