gpt4 book ai didi

string - 字符串中可能存在的字符的模式

转载 作者:行者123 更新时间:2023-12-02 07:25:46 24 4
gpt4 key购买 nike

我知道我应该使用 string.match() 来执行此操作,但我在匹配字符串中“可能”存在的字符时遇到问题,例如:

teststring = "right_RT_12" 

我可以轻松地执行以下操作:

string.match(teststring , 'righteye_RT_[0-9]+')

如果测试字符串的末尾总是有“_[0-9]+”,这很好,但可能存在末尾没有数字的情况。在 Lua 中我将如何满足这一点?

在 Python 中我可以做类似的事情:

re.search("righteye_RT(_[0-9]+)?", teststring)

我认为这样的事情会起作用:

string.match(teststring, 'righteye_RT_?[0-9]+?')

但事实并非如此。结果 = nil

但是,以下方法确实有效,但只能找到第一个数字:

string.match(teststring, 'righteye_RT_?[0-9]?')

最佳答案

? 只能用于 Lua 模式中的一个字符。您可以使用来匹配两种模式:

local result  = string.match(teststring , 'righteye_RT_%d+') 
or string.match(teststring , 'righteye_RT')

请注意,or 运算符是短路的。因此它首先尝试匹配第一个模式,当且仅当失败(返回nil)时,它才会尝试匹配第二个模式。

关于string - 字符串中可能存在的字符的模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22963250/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com