允许在string:match()中使用更多字符。

string:match("[^%w%s%(%)_]")

目前我认为它只允许字母、数字和空格。如何将字符添加到其中?例如,我也想允许 (_

点赞
用户997958
用户997958
`string:match( "[^%w%s(_]" )`

这将匹配你提到的字符。基本上,任何你在方括号中添加的字符都会被匹配。

有些字符需要转义,比如括号。

2015-04-18 16:42:00
用户1009479
用户1009479

在 char-set 的开头加上 ^ 表示取反。在你的例子中,[^%w%s] 匹配一个不是字母数字(%w),也不是空白符号(%s)的字符。

如果你需要添加 (_,只需要将它们加进去:[^%w%s(_]

2015-04-18 17:15:00