Ich habe das Perl regular expression /VA=\d+:(\S+):ENSG/
, die das, was der beste Weg, um herauszufinden, ich versuche, in einer if-Anweisung alsWhich Python re-Modul zum Übersetzen ein Perl regular expression
if ($info =~ /VA=\d+:(\S+):ENSG/){
$gene =$1;
verwendet wird, holen zu replizieren in Python wäre. Jetzt habe ich
gene_re = re.compile(r'VA=\d+:(\S+):ENSG')
this_re = re.search(gene_re, info)
if this_re is not None:
gene = info[this_re.start(0):this_re.end(0)]
Ist das ein guter Weg, um es zu übersetzen? Ich denke, das ist ein Bereich, in dem Perl tatsächlich lesbarer ist als Python.
Beachten Sie, dass der reguläre Ausdruck Python kompiliert wird, da die nächsten drei Zeilen tatsächlich in einer Schleife sind.
Keine Notwendigkeit für 'wenn this_re nicht da ist None'. In Python würde man normalerweise nur sagen, wenn this_re: '. –
wurde mir beigebracht, nicht zu verwenden, weil es besser lesbar ist und weil keine! = Falsch –