2015-11-27 41 views
1

考慮完成對LUA CLI以下測試:問題的理解爲什麼某些Lua的模式失敗

Lua 5.2.4 Copyright (C) 1994-2015 Lua.org, PUC-Rio 
> line = "Conference 1-12345-a.b.c (1 member rate: 32000 flags: running|answered|enforce_min|dynamic|exit_sound|enter_sound)" 

我試圖提取12345Conference 1-12345-a.b.c

這工作:

> searchtextok = "1%-(%d%d%d%d)" 
> print(string.match(line, searchtextok)); 
1234 

但是這個失敗:

> searchtextok = "1%-(%d%d%d%d)%-" 
> print(string.match(line, searchtextok)); 
nil 

但我不明白爲什麼。我目前正在閱讀this,但如果您有任何指示,那會很棒。

回答

3

你的第一種模式是什麼意思是「1,其後是破折號,後面是4位數」。第二個是相同的,但後面跟着破折號。由於四位你有另一個數字(1-1234 -a.b.c),而不是一個破折號之後,匹配失敗。


你可能想匹配5而不是4位數。只需將其更改爲:

"1%-(%d%d%d%d%d)%-" 
+0

是的,我明白了。我是個白癡!一直在看這太久 – Happydevdays

+0

@快樂的時光,有時候我們會陷入愚蠢的事情。適合每個人。 – ndn

+0

感謝您的耐心幫助。當像你這樣的人在使用stackoverflow時,我喜歡它。太讚了。再次感謝。 – Happydevdays

相關問題