lua语言中正则匹配判断字符串是否为数字顺子
时间: 2023-10-18 14:13:07 浏览: 86
Lua教程(十四):字符串库详解
以下是一个示例代码,它可以判断一个字符串是否为数字顺子:
```lua
function is_number_sequence(str)
local pattern = "^%d+$"
if not string.match(str, pattern) then -- 判断是否全部由数字组成
return false
end
local nums = {}
for i = 1, #str do
local c = string.sub(str, i, i)
local n = tonumber(c)
if not n then
return false
end
table.insert(nums, n)
end
table.sort(nums)
for i = 2, #nums do
if nums[i] ~= nums[i-1]+1 then
return false
end
end
return true
end
-- 示例用法
print(is_number_sequence("12345")) -- true
print(is_number_sequence("123456789")) -- true
print(is_number_sequence("1234a56")) -- false
print(is_number_sequence("1234")) -- false
```
阅读全文