【发布时间】:2014-04-06 22:29:03
【问题描述】:
i, j = string.find("the number 1298 is even", "%d+")
print(i,j)
在上面的代码中,如果我使用%d+,我会得到12,15,这是预期的,但使用%d*,它会返回1,0。两者之间的唯一区别是 * 也接受 0 值,但 + 接受 1 或更多。但是为什么返回1,0?
【问题讨论】:
-
%d*匹配字符串的第一个符号之前的空字符串。 -
还是不清楚,请解释一下?
-
1= 空字符串第一个符号的位置,0= 最后一个符号的位置。length = (pos_last_symbol - pos_first_symbol + 1) = 0符合预期。 -
但是怎么在这里找到空字符串呢?
标签: string lua lua-patterns