匹配字符集中的几个符号

Match for several symbols in char-set

Lua(以及我认为的任何其他正则表达式)具有允许匹配集合中任何符号的字符集。有没有办法将该组中的多个符号匹配为一个?例子

text:gsub("foo[^bar]-","") -- matches for any foo that is not followed by 'b', 'a' or 'r'

有没有办法让它允许 'b'、'a' 或 'r',但不允许恰好 'bar'(也许还有一些非一符号) 之后的模式?

local s = "{aaa\rbbb} {ccc\r\alpha} {eee\r}"
print(s)

local s1 = s:gsub("(\r[^}]-)}","%1\alpha&H&}")
print(s1)

local s2 = s:gsub("\alpha", "[=10=]%0")  -- insert zero byte before each \alpha
            :gsub("(\r%f[^r%z][^}]*)}", "%1\alpha&H&}")
            :gsub("%z", "")           -- remove all zero bytes
print(s2)

输出:

{aaa\rbbb} {ccc\r\alpha} {eee\r}
{aaa\rbbb\alpha&H&} {ccc\r\alpha\alpha&H&} {eee\r\alpha&H&}
{aaa\rbbb\alpha&H&} {ccc\r\alpha} {eee\r\alpha&H&}