代码之家  ›  专栏  ›  技术社区  ›  user1631306

python使用regex提取大写单词

  •  0
  • user1631306  · 技术社区  · 6 年前

    我想从单词“cell”或“cells”前3或4处提取大写字母。

    例子 :

    简单地说,用一系列LTX二醇或异LTX二醇处理如上所述生长的MCF-7相同细胞。

    我想从上面的例子中提取mcf-7。

    我试着用 [A-Z0-9-]+cells 但是它的返回细胞,而不是mcf-7

    1 回复  |  直到 6 年前
        1
  •  2
  •   Tim Biegeleisen    6 年前

    cell cells

    ([A-Z][^ ]*)(?=\s+(?:[^A-Z]\S*\s+){1,4}cells?)
    

    input = "Briefly, MCF-7 idential cells grown as described above were treated with a range of LTX-diol or iso-LTX-diol."
    
    r1 = re.findall(r"([A-Z][^ ]*)(?=\s+(?:[^A-Z]\S*\s+){1,4}cells?)", input)
    print(r1)
    
    ['MCF-7']