好清晨,提取字符串與正則表達式是不穩定的
我有我們在以前的職位上建立以下python正則表達式文件。這意味着提取任何類似'chr'+ number +':'+ bignumber「..」+ bignumber的信息(因此看起來像chr1:100000..120000) 如果將chr1切換爲chrX,正則表達式腳本不會「T工作了......
這裏是原始腳本:
# Opens each file to read/modify
infile='myfile.txt'
outfile='outfile.txt'
#import Regex
import re
with open (infile, mode='r', buffering=-1) as in_f, open (outfile, mode='w', buffering=-1) as out_f:
f = (i for i in in_f if '\t' in i.rstrip())
for line in f:
_, k = line.split('\t',1)
x = re.findall(r'^1..100\t([+-])chr(\d+):(\d+)\.\.(\d+).+$',k)
if not x:
continue
out_f.write(' '.join(x[0]) + '\n')
如果我改變了這一行:
x = re.findall(r'^1..100\t([+-])chrX(\d+):(\d+)\.\.(\d+).+$',k)
我不能具體提取任何看起來像chrX等... 你也應該知道有些行可能是空的!
請幫助:)謝謝
你說的那條線是完全一樣的 –
你對「123100 +」前綴沒有任何說法。這可能是問題嗎?請顯示k的內容(使用'print repr(k)'),這個和那個不匹配。 –