猿问

python使用正则表达式提取大写单词

我想提取大写的单词,并且出现在单词“cell”或“cells”之前的 3 或 4

例子 :

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

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

我尝试使用[A-Z0-9-]+cells,但它的返回单元格,而不是 MCF-7


元芳怎么了
浏览 276回答 1
1回答

杨__羊羊

此答案假设您要匹配以大写字母开头的单词,然后依次是 1 到 4 个其他单词,然后是cellor cells。我们可以尝试使用以下模式进行匹配:([A-Z][^ ]*)(?=\s+(?:[^A-Z]\S*\s+){1,4}cells?)模式末尾的正向前瞻声明要求在cell或之前出现 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']
随时随地看视频慕课网APP

相关分类

Python
我要回答