我想在 bash 或 python 中过滤掉一个数据框,这样我就可以获得只包含给定模式之一而没有其他内容的行。
示例:
数据框:
OG1 Abc1 Def1 Klm3
OG2 Def1 Ghj1 Abc3
OG3 Ghj2 Abc1 Abc2
OG4 Nop5 Ghj7
搜索模式:
Abc[0-9]*
、Ghj[0-9]*
、Nop[0-9]*
所需输出:
OG3 Ghj2 Abc1 Abc2
OG4 Nop5 Ghj7
除非我做错了什么,否则你的搜索模式,也在 regex101 上尝试过,不会返回任何行。
无论如何,Python代码将满足您的需求,当然,将其替换为正确的正则表达式模式:
import re
data = open("NAME_OF_YOUR_DATAFRAME_FILE.txt")
pattern = "YOUR_RE_PATTERN"
for line in data:
if re.match(pattern, line):
print(line)
也许有像这样的图案? /Ghj[0-9]{1,} Abc[0-9]{1,}/