Lua 模式匹配模式

Lua Pattern Matching a pattern

我的问题是这样的。我有一个包含

的字符串
local mystring = "ASD_ASDDFS_SDF_ASDASD as8d76 na879yd"

我想把字符串中大写字母的部分带下划线。现在通常这很容易,但现在这个字符串可能会不时更改。所以字符串可以是

local mystring = "ASD_ASDDFS_SDF as8d76 na879yd"

local mystring = "ASD_ASDDFS_SDF_YUIOY asaasd na879yd"

现在字母始终以大写开头,并且始终使用下划线连接。而这只是我想捕捉的部分。

我想做类似的事情

local capitalpart = mystring:match("%u*%_%u*(%_%u*)+"))

因此它会重复捕获下划线后跟大写字母。但这没有用。

您可以使用以下模式:

[%u_]+