自己写一个就好啦
string.has = function(str, findthis)
结合最近看制作推车机器人视频学到的微薄知识,竟然看懂了大佬的意思,妙哇yct23虽然lua没有split函数,要自己定义(但我推车脚本有写了。flee) shenji 发表于 2022-7-3 11:50 PM
感谢指路,我找到了lua一个能自定义匹配字符的正则[]
macth: ^你说道:「(.*)」$
这条不是正路,原因是[]匹配的是单字符
这里一定要注意 是 单个字符
而汉字,包括这个例子中的星星都是双字符 creat 发表于 2022-7-4 12:07 AM
这条不是正路,原因是[]匹配的是单字符
这里一定要注意 是 单个字符
而汉字,包括这个例子中的星星都是双 ...
但是还是成功匹配了,什么情况下会出错呢,或者说这样有啥隐患?
我试了一下:
match:^你说道:「(.*)」$
send:
if string.find("%1","[我们,你好,1,abcdefg]") then
Note("匹配成功")
end
>
你说道:「我们」
匹配成功
>
你说道:「你好」
匹配成功
>
你说道:「1」
匹配成功
>
你说道:「abcdefg」
匹配成功
>
--------------------------------------------
我又试了一下,好像是调用匹配的内容的时候会出问题
match:^你说道:「(.*)」$
send:
for v in string.gmatch("%1","[我们,你好,1,abcdefg]") do
print(v)
end
你说道:「abcdefg」
a
b
c
d
e
f
g
你说道:「我们」
?
?
?
?
所以单纯匹配返回true值还是可以用[]的吧 不要用方括号,用竖线就可以了。 shenji 发表于 2022-7-4 12:41 AM
但是还是成功匹配了,什么情况下会出错呢,或者说这样有啥隐患?
我试了一下:
简单的说,[]只适合字母和半角符号
如果没有充分的理解,那么在ansi编码的中文处理中不要用,不要用,不要用 shenji 发表于 2022-7-4 12:41 AM
但是还是成功匹配了,什么情况下会出错呢,或者说这样有啥隐患?
我试了一下:
当你了解了什么是gbk,什么是utf8,什么是ansic
一个中文到底可能是几位后。
欢迎你和我一起对lua骂 mmp
lua本身不是用来处理文字的,这是它弱项。
页:
1
[2]