我有一个正则表达式,用于匹配文本,但我需要匹配文本,将文本保留在引号内
考虑:
I have a pen1
I have a pen1 "green"
事实上,我需要将文本保留在引号内,并说两行是相同的。下面的代码将匹配同一行,然后用编号递增,以减少文本中数据的冗余。但是我需要将文本保留在“”内,并获取剩余的文本,如果发现其余文本相同,则增加编号
你知道吗code:thnks to @假象
import re
numbers = {}
with open('1.txt') as f:
for line in f:
row = re.split(r'(\d+)', line.strip())
words = tuple(row[::2]) # Extract non-number parts to use it as key
if words not in numbers:
numbers[words] = [int(n) for n in row[1::2]] # extract number parts.
numbers[words] = [n+1 for n in numbers[words]] # Increase numbers.
row[1::2] = map(str, numbers[words]) # Assign back numbers
print(''.join(row))
包括哪些内容不考虑“”中的文本
请帮忙,谢谢回答
您可以在不使用正则表达式的情况下执行此操作:
基本上,它在
"
个字符处分割字符串,甚至保留索引部分,并将它们连接起来如果确实要使用regexp:
相关问题 更多 >
编程相关推荐