Python 正则表达式:仅查找匹配'.+'变量值



我编写了以下程序来计算标记。是他们只找到标记的更好方法吗。

import re
string = """
Q1
|-->1
|-->1
|-->1
|-->1
|-->1
"""
pattern = '>.+n'
result = re.findall(pattern, string)
marks = 0
for x in result:
marks += int(x.replace('>', '').replace('n', ''))
#This thing does not look clean; it feels hacky
print(marks)

re.findall((返回的列表类似于

['>1n', '>1n', ...]

但我想要像这样的东西

['1', '1', ...]

我该怎么办?

我会在这里使用regex find-all方法:

string = """
Q1
|-->1
|-->1
|-->1
|-->1
|-->1
"""
grades = re.findall(r'-->(d+)', string)
print(grades)  # ['1', '1', '1', '1', '1']

最新更新