use*_*703 2 regex lua special-characters
我试图找出一个字符串是否具有06个前导星号,例如,如果该字符串具有“ ****** abc”,那么如果该字符串具有“ * abc ”或“ ** abc”或“ *”,则通过失败
我已经在网上尝试过(https://www.lua.org/cgi-bin/demo)
s1 = "**"
if (string.match(s1, '^****$')) then
print "pattern matches"
else
print "pattern does not match"
end
Run Code Online (Sandbox Code Playgroud)
但这似乎不起作用。
字符类:字符类用于表示一组字符。描述字符类时允许使用以下组合:
x :(其中x不是魔术字符^ $()%。[] * +-?之一)表示字符x本身。
...
%x :(其中x是任何非字母数字字符)表示字符x。这是逃脱魔术角色的标准方法。
所以*是一个魔术人物。除非在像的字符类中使用过,否则必须转义[*]。
与任何以6个星号开头的字符串匹配的模式是 "^%*%*%*%*%*%*[^*]+"
在[^*]+确保您的剩余字符串不包含其他的星号。通过匹配至少一个非星号字符。
[^ set]:表示集合的补码,其中集合的解释如上。
...
单个字符类,后跟“ +”,它与该类中的一个或多个字符重复匹配。这些重复项将始终匹配最长的序列;