-2
我遇到了創建代碼的問題,該代碼將在模式不匹配時計數,並且一旦該模式具有使用正則表達式的匹配,將重置爲0。我將列出一個文件的例子,並試圖展示我期待的功能。無論文件中有多少匹配,我都會收到-1。我也不確定數字應該如何在文本文件中格式化。我無法讓我的代碼進行計數並重置爲零
regEx56「定位,在它有56不分地點的所有數字)256 526 065 regEx57 「同爲56,但使用57而不是」
p3text file. python count: 56 57
107 -1 -1
328 -2 -2
156 0 -3
725 -1 0
這裏是我的代碼:
import re
my_p3text = open("p3text.txt", "r")
p3data = my_p3text.read()
regEx56 = str(re.findall(r'\b[0-4]*(?:5[0-4]?6|6[0-4]?5)[0-4]*\b',p3data))
regEx57 =str(r'\b[0-4]*(?:5[0-4]?7|7[0-4]?5)[0-4]*\b',p3data)
for line in my_p3text:
match=regEx56.search(line)
count = 0
print (match)
else:
count = -1
print (count)
到底是什麼模式。你能舉個例子嗎? –
所以數字列表是:107 328 156 725.我想跟蹤數字56和75的正則表達式捕捉它們。但計數不起作用。 r'\ b [0-4] *(?: 5 [0-4]?6 | 6 [0-4]?5)[0-4] * \ b'= 3位數字中56的任意組合和'\ b [0-4] *(?:5 [0-4]?7 | 7 [0-4]?5)[0-4] * \ b' – rj23