我有一个非常基本的查询。我以表格格式获得了爆破结果。我目前的结果看起来像
我想在column2中编辑我的结果以获得输出,如下面
中所述所示6561412(数字后跟gb之前的gi)>
752455730(数字后跟gb之前的gi)
30348501(数字后跟gb之前的gi)
此工具使用带有re.sub()函数的Python正则表达式。有关Python正则表达式的更多信息,请访问:
期待您的帮助 此致
答案 0 :(得分:2)
使用专栏:Column: 2
查找正则表达式:gi\|(.*?)\|gb.*
替换:\1
答案 1 :(得分:2)
如果你坚持使用正则表达式:
import re
data = "gi|6561412|gb|AF191073.1|AF191073_Stealth_virus_1_clone_3B43,_genomic_sequence"
match = re.match(r".*?\|([^|]+)", data)
if match:
print(match.group(1)) # 6561412
但是,当你能以更低的成本进行有限的拆分时,为什么还要使用正则表达式呢?
data = "gi|6561412|gb|AF191073.1|AF191073_Stealth_virus_1_clone_3B43,_genomic_sequence"
tokenized_data = data.split("|", 2)
if len(tokenized_data) >= 1:
print(tokenized_data[1]) # 6561412
答案 2 :(得分:0)
谢谢,每个人,下面提到的答案都有效
查找正则表达式:p()
替换:.*?\|(.*?)\|.*?\|(.*?)\|.*