使用Lua模式捕获带标记的句子中的单词

时间:2016-03-01 11:08:35

标签: lua pattern-matching lua-patterns

示例行:('The', 'DT')('mirror', 'NN')('can', 'MD')('barely', 'RB')('contain', 'VB')('me', 'PRP')('.', '.')

我需要什么:

The
mirror
can
barely
contain
me
.

使用此模式将返回整行而不是每个单词(加上一些咔嗒声):

txt = "('The', 'DT')('mirror', 'NN')('can', 'MD')('barely', 'RB')('contain', 'VB')('me', 'PRP')('.', '.')"

for i in txt:gmatch("%('.+',") do
    print(i)
end

2 个答案:

答案 0 :(得分:3)

+修饰符贪婪,改为使用-

for i in txt:gmatch("%('(.-)',") do

答案 1 :(得分:-2)

使用+修饰符时,它尽可能匹配,而 - 则相反。所以你的代码正在捕获很多,试试这个:

for i in txt:gmatch("%('(.-)',") do
    print(i)
end