我有一个输入,该输入包含一个计算,后跟其他内容。示例:
tool = script.Parent
handle = tool.Handle
a = false
tool.Equipped:Connect(function()
if a == false then
a = true
game:GetService("UserInputService").InputBegan:Connect(function(P)
if P.KeyCode ==Enum.KeyCode.P then
print ("Pressed")
end
end)
end
tool.Unequipped:Connect(function()
if a == true then
a = false
end
end)
end)
我想使用一个返回3 * 5+2jdf344*23sd
的正则表达式;第一个违反计算规则的比赛。
我尝试过:
jdf344*23sd
相反:
/(?<=(( ?[0-9]+ ?[\*\-\/\+\=\%\^])+ ?[0-9]+ ?)).+/
但是这也会在第一次乘法后选择部分。原因是对于+2,正向后看已经成立。
问题是我不知道计算的长度。
编辑:同样,计算可以在数字和运算符之间有空格,但不能在数字之间-如果计算部分以运算符结尾,则它(必须是,但会很好)也应该位于匹配项内
希望您能帮助我, 预先谢谢你。
答案 0 :(得分:-2)
如果发现只需要计算,请尝试以下操作:
this.userSSN
这是regex101测试:
/([-\/+0-9\s\*+]*)/