我有几个表正在尝试更新。当第一个元素与某个字符串匹配时,我需要更新每个表的第四个元素。
示例表(在 Lua 中(:
TABLE = {
{TEXT1,0,4,0,0,0,0},
{TEXT2,0,4,0,0,0,0},
{TEXT3,0,5,0,0,0,0},
{TEXT1,0,5,0,0,0,0},
{TEXT1,0,4,0,0,0,0},
{TEXT4,0,5,0,0,0,0}
}
我可以使用以下内容仅选择具有元素"TEXT1"的表:
(?=TEXT1)
我还可以使用以下语句选择第四个和第五个逗号之间的内容:
^[^,]*,[^,]*,[^,]*,[^,]*,K(.*?)(?=,d)
不过,我不知道如何同时使用这两种表达式。
所以基本上,我想替换每个以字符串"TEXT1"开头的表中的0
,但是我如何组合我的语句来检查所需的文本,然后仅选择该表中的第四个元素?
^{TEXT1,([^,]+,){3}K[^,]+
来选择您要追求的元素,然后将其替换为您喜欢的任何元素。用999
替换会把你的桌子变成
TABLE = {
{TEXT1,0,4,0,999,0,0},
{TEXT2,0,4,0,0,0,0},
{TEXT3,0,5,0,0,0,0},
{TEXT1,0,5,0,999,0,0},
{TEXT1,0,4,0,999,0,0},
{TEXT4,0,5,0,0,0,0}
}
请注意,在您的标题中要求第四个元素,但您的正则表达式选择了第四个和第五个逗号之间的元素 - 这是第五个元素并在此处使用。另请注意,如果表在任何地方包含的元素少于六个,则可能需要将[^,]
替换为[^,nr]
。