在 Python 中使用正则表达式,尝试解析以下数据。
数据 thing1 =
<a class="screener-link-primary" href="quote.ashx?t=IDXG&ty=c&p=d&b=1">IDXG</a>,
<a class="screener-link-primary" href="quote.ashx?t=INVN&ty=c&p=d&b=1">INVN</a>,
<a class="screener-link-primary" href="quote.ashx?t=SWC&ty=c&p=d&b=1">SWC</a>,
<a class="screener-link-primary" href="quote.ashx?t=NE&ty=c&p=d&b=1">NE</a>,
正则表达式
pattern = "[A-Z][A-Z]{1,5}(?![A-Z])"
match = re.findall(pattern,thing1)
print(match)
我得到的结果是每行出现两次。
['IDXG', 'IDXG', 'INVN', 'INVN', 'SWC', 'SWC', 'NE', 'NE']
我想要的结果只是每行中第一个与模式匹配的结果。
['IDXG', 'INVN', 'SWC', 'NE']
我知道如果我删除全局标签,它会在 one match. 之后停止
如果我分别执行每一行,它会给我 first match.
有没有一种优雅的方法来获取 Python 中每一行的第一次出现?
请您参考如下方法:
