Lua模式:如何获取所需的字符串

我有一个字符串如下,基本上数据是从excel文件中传递给我的。有些行是正确的数据,对于这些正确的数据行,我能够使用lua模式获取我需要的内容。以下是正确的数据行

2011/02 ARRTC AAUUMCO ZZITNWMOBILE COMMUNICATIONS CENTER ARRTC-AAUUM-TBT-2011-02 0.00 AAUUM_ARRTC_0211_TBT 18.03 18.03 EUR 1.14977 20.73 20.73

我使用以下模式,一切正常:

rPattern = "(%d%d%d%d%/%d%d)%s*(%w%w%w[%w%d][%w%d])%s*(%w%w%w[%w%d][%w%d]).-[%u%d%-%s]-([%d%.%,]+)%s*([%u%d_%-]-)%s*([%d%.%,]+)%s*([%d%.%,]+)%s*(%u%u%u)%s*(%d+%.%d*)%s*(.-)\n"

现在有些行带有HTML标签,意味着我的数据在HTML标签内。我唯一需要的诀窍是在HTML标签内获取所需的字符串。有问题的行是

2011/02 ARRTC   AAUUMCO ZZITNWMOBILE COMMUNICATIONS CENTER  ARRTC-AAUUM-TBT-2011-02 0.00    <a href="/cgi-bin/recon_detail?rectent=AAUUM&benificary=ARRTC&period=2011/02&svctype=Voice">AAUUM_ARRTC_0211_TBT</a>    18.03   18.03   EUR 1.14977 20.73   20.73

现在,我想从上面的行中获取AAUUM_ARRTC_0211_TBT

我一直在尝试,但无法做到。有人能帮助我修复上面的模式吗?

谢谢

原文链接 https://stackoverflow.com/questions/6538305

点赞
stackoverflow用户107090
stackoverflow用户107090

尝试使用 print(str:match(">(.-)<"))

2011-06-30 19:23:00
stackoverflow用户734069
stackoverflow用户734069

Lua 的模式匹配无法解析 HTML。虽然“>(。-)<”这个模式在这种特定情况下可以工作,但它并不是针对任意 HTML 的通用解决方案。

Lua pattern matching is incapable of parsing HTML. While the ">(.-)<" pattern would work in this particular instance, it would not be a general solution for arbitrary HTML.
2011-07-01 03:04:59