【发布时间】:2019-11-03 17:01:33
【问题描述】:
在 Lua 中,在字符串中查找数字的正确正则表达式是什么?由于 lua 正则表达式中使用括号的方式,似乎很难正确匹配小数点及其后的数字。
下面测试代码中的解决方法适用于我的脚本的即时需求,但也接受像 +1.23.45 这样的模式。
--[+-]?(\d+(\.\d+)?|\.\d+)([eE][+-]?\d+)? std regex for a numeral
s = "+1.23"
re = "([+-]?%d+[%.%d+]*)"
n = s:match (re)
print (n)
【问题讨论】:
-
这个怎么样?
'([+-]?%d*%.?%d+)' -
但是如果你有
+1.23.45,那么预期的结果是什么?请告知您需要处理的所有可能的边缘情况。您需要验证整个字符串输入,还是从一个大字符串中提取多个可能的匹配项? -
谢谢,这样更安全。只是给朋友的一点天文(行迹)数学,我以为这次我会一起学习 Lua。
标签: lua lua-patterns