一千萬個為什麽

搜索

如何在字符串中進行模式匹配?

有沒有辦法叠代逗號分隔的字符串,然後用匹配做一些事情?到目前為止我有:

for a in string.gmatch("this, is, a commaseparated, string", "(.-)[,]") do
  print (a)
end

問題是找不到表中的最後一個條目。在C中,可以匹配 NULL 來檢查您是否在字符串的末尾。 Lua有類似的東西嗎?

最佳答案

嘗試這個:

for a in string.gmatch("this, is, a commaseparated, string", "([^,]+),?") do
    print (a)
end

正則表達式模式([^,] +),?捕獲一個或多個非逗號字符,可選地後跟逗號。

轉載註明原文: 如何在字符串中進行模式匹配?