python - 构建一个类以匹配读入的 .txt 文件中的正则表达式
问题描述
我对 python 很陌生,在理解如何构建适当的类方面遇到了一些麻烦。我目前正在寻找一种方法让我的班级在 txt 文件中查找单词(或任何其他正则表达式)并打印这些单词(蓝色)及其行。现在,我的班级做得不多,我不知道为什么。
这是代码:
import re
class RegIter():
def __init__(self, path, regexp):
with open (path) as f:
self.text=f.read()
self.text=str(re.finditer("\w+|[^\w ]+",self.text))
self.wörter=list()
wörter=self.wörter
self.regexp=re.compile(self.text)
def print(self):
print(self.text)
def makeBlue(text):
return ("\033[34m"+str(text)+"\033[0m")
def __str__(self):
beginn=0
for match in self.regexp.finditer(line):
start=match.start()
end=match.end()
print(line[beginn:start], end="")
beginn=end
return(line[start:end])
print(self.makeBlue(line[start:end]), end="")
def __iter__(self):
self.c=0
return self
def __next__(self):
if self.c<len(self.wörter):
returner=self.wörter[self.c]
else:
raise StopIteration
self.c+=1
return returner
def __len__(self):
return len(self.wörter)
myobject=RegIter("Bsp1.txt", "\w+|[^\w ]+")
print(len(myobject))
for match in myobject:
print(match)
print(myobject)
发现错误可能很容易,但我找不到它为什么不起作用。
解决方案
推荐阅读
- python - python ctypes 垃圾回收
- mongodb - spark 连接到 mongoDB 分片集群,但没有获取数据
- ajax - 无法将ajax数据插入数据库codeigniter
- kubernetes - 如何在 Istio VirtualService 正则表达式中实现逻辑 OR?
- c# - 场景变化时如何运行一些代码?
- html - 网站宽度总是大于页面
- mysql - 如何编写 SQL 语句从交叉引用表中获取匹配数据?
- macos - Applescript 将 Safari 选项卡拆分为新窗口
- tensorflow - 基于单词/文本输入的推荐引擎需要什么
- neo4j - 最长路径 Neo4j 返回不正确的路径