Lua 模式到 select 后跟任何单词的特定字符串
Lua pattern to select particular string followed by any word
任何人都可以告诉我为什么我不能在下面的代码中 select CWIND7x32\ab_c1
吗?
s="[cC][wW][iI][nN]7[xX]32"
local p= (tostring(s).."\([%%w_]+)?")
local c = "##\##"
print(p)
tstr = "Pattern CWINd7x32\ab_c1 is valid"
print(tstr)
res=string.gsub(tstr,p,c)
print(res)
我想要一个模式 select 格式为 CWINDX32\any 的任何单词,其中 CWINDX32 应该是不区分大小写的单词。
请注意,单词只能包含字母数字字符和下划线,并且可以以空格或 ; 结尾。或 , 或 :
示例:
模式 CWINd7x32\ab_c1 有效 -> 模式 ##\## 有效
模式cWIND7x32\efg;有效 -> 模式 ##\##;有效
模式CWIND7X32\random_user,有效 -> 模式##\##,有效
首先,您在模式中遗漏了 [dD]
,我猜这是一个错字。
还有一些其他问题。
?
in Lua 模式只适用于单个字符,所以
"\([%%w_]+)?"
无效。
%%
是转义的 %
字符,[%%w_]
匹配 %
字符,w
或下划线 _
,wihch不是你所期望的。
固定模式是[cC][wW][iI][nN][dD]7[xX]32\[%w_]+
。
任何人都可以告诉我为什么我不能在下面的代码中 select CWIND7x32\ab_c1
吗?
s="[cC][wW][iI][nN]7[xX]32"
local p= (tostring(s).."\([%%w_]+)?")
local c = "##\##"
print(p)
tstr = "Pattern CWINd7x32\ab_c1 is valid"
print(tstr)
res=string.gsub(tstr,p,c)
print(res)
我想要一个模式 select 格式为 CWINDX32\any 的任何单词,其中 CWINDX32 应该是不区分大小写的单词。
请注意,单词只能包含字母数字字符和下划线,并且可以以空格或 ; 结尾。或 , 或 :
示例:
模式 CWINd7x32\ab_c1 有效 -> 模式 ##\## 有效
模式cWIND7x32\efg;有效 -> 模式 ##\##;有效
模式CWIND7X32\random_user,有效 -> 模式##\##,有效
首先,您在模式中遗漏了 [dD]
,我猜这是一个错字。
还有一些其他问题。
?
in Lua 模式只适用于单个字符,所以"\([%%w_]+)?"
无效。%%
是转义的%
字符,[%%w_]
匹配%
字符,w
或下划线_
,wihch不是你所期望的。
固定模式是[cC][wW][iI][nN][dD]7[xX]32\[%w_]+
。