Lua で一致グループを繰り返すことができないことはわかっています。たとえば、2 つの連続する を一致させたい場合"45"
、次のことはできません。
print(string.find("some 4545 text", "(%d%d)+"))
印刷されますnil
(一致が見つかりません)。
ただし、find(...)
エラーは報告されないため (無効なパターン"%"
と"(%d"
エラーが生成されるため)、パターン"(%d%d)+"
が有効なパターンであると信じるようになります。
"(%d%d)+"
が有効なパターンである場合、それは何に一致しますか? そうでない場合、エラーが発生しない特別な理由はありますか?