[英]Count the number of occurrences of “NZ” and “O” inside the txt file.
我正在嘗試匹配並計算出txt文件中NZ和O的出現次數...
Import re
pattern = re.compile(r'NZ')
with open ('scratch_1.txt','r') as f:
contents = f.read()
matches = pattern.finditer(contents)
for match in matches:
print(match)
以上是我當前的代碼,它與所有“ NZ”匹配。 我要達到的目的是匹配所有'NZ'和'O'並計算出場次數。 請幫忙!
只需更改模式以查找NZ或O:
pattern = re.compile(r'NZ|O')
我認為這樣做更容易:
n1 = contents.count('NZ')
n2 = contents.count('O')
result = n1+n2
如果您真的想要正則表達式,我認為NZ|O
模式應該可以工作。
請使用一個非捕獲組,並且在NZ
和O
之間使用交替符( |
,豎線字符)。 我將使用包裹在len
re.findall
,因為re.findall
返回出現的事件的list
。
>>> import re
>>> text = 'HellO world! NZO NZ O NZ NZNZNZN O'
>>> len(re.findall(r'(?:NZ|O)', text))
10
在這里進行了測試: https : //regexr.com/44ms6
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.