"PB"
のfindall
のインスタンスとそれに続く数字ですが、私が呼び出すとしようとしています。Python。出力を返さない正規表現
number_all = re.findall(r'\bPB\b([0-9])\d+', ' '.join(number_list))
([0-9])\d+
は出力を返しません。私は出力ファイルsequence.txt
をチェックしますが、内部には何もありません。私がちょうどすれば\bPB\b
それは"PB"
を出力しますが番号はありません。
私の入力ファイルは、raw-sequence.txt
は次のようになります。
WB (19, 21, 24, 46, 60)
WB (12, 11, 9, 23, 49)
PB (18, 21, 10, 5, 5)
WB (2, 14, 2, 29, 67)
WB (1, 8, 1, 16, 52)
PB (2, 11, 8, 3, 4)
どのように出力次の行がsequence.txtすることができますか?ここで
PB (18, 21, 10, 5, 5)
PB (2, 11, 8, 3, 4)
は私の現在のコードです:
あなたが表示されたコードを考えるとsequence_raw_buffer = open('c:\\sequence.txt', 'a')
with open('c:\\raw-sequence.txt') as f:
number_list = f.read().splitlines()
number_all = re.findall(r'\bPB\b([0-9])\d+', ' '.join(number_list))
unique = list(set(number_all))
for i in unique:
sequence_raw_buffer.write(i + '\n')
print "done"
f.close()
sequence_raw_buffer.close()
regex101.comを検索することができます
this
を使用することができるための素晴らしいです正規表現のテスト – RandomHash
['re'モジュールのドキュメント](https://docs.python.org/2/library/re.html)を実際に読んでください。 – user2357112
「PB」で始まる行だけが必要ですか? –