string.match如何包含小数点?

string.match如何包含小数点?,string,lua,String,Lua,因此,我尝试获取string.match,以不仅获取“%d+”(任意数字字符串),而且还希望它包含小数点(如果存在)。我无法创建模式“%d+”或“%d+。%d+”,因为这样会检测到任何标点符号,并且不会得到纯非十进制数字 我在这里迷路了试试这个模式“(%d*%。?%d+)” 它匹配: 12345 12.345 .12345 但不是: 12345 如果您确定小数点仅与数字一起出现,也可以使用[%d%.]+。这个图案很相配 12 12. 12.3 .3 而且 无任何邻近数字 您必须尝试此

因此,我尝试获取string.match,以不仅获取“%d+”(任意数字字符串),而且还希望它包含小数点(如果存在)。我无法创建模式“%d+”或“%d+。%d+”,因为这样会检测到任何标点符号,并且不会得到纯非十进制数字

我在这里迷路了

试试这个模式
“(%d*%。?%d+)”

它匹配:

  • 12345
  • 12.345
  • .12345
但不是:

  • 12345

如果您确定小数点仅与数字一起出现,也可以使用
[%d%.]+
。这个图案很相配

  • 12
  • 12.
  • 12.3
  • .3
而且

  • 无任何邻近数字

您必须尝试此处答案中的正则表达式并删除此问题-这实际上是一个重复问题,但对于特定技术(lua)@PetroKorienev lua没有传统意义上的正则表达式。Lua模式将无法识别
(.%d+)?
(其中
%
的行为与正常模式中的
\
的行为相同)哦,那么,对不起:(那么,尝试一些类似于POSIX regexps的功能可能是有意义的?