python - 如何使用 python 和正则表达式合并两个文本文件
问题描述
这就是我得到的:(在 blhsing 回答后编辑。)
import re
File1 = open('text.txt', 'r')
regex = re.compile(r'\b(?:[12]?\d{1,4}|30{4})#[^#]+#')
string = File1.read()
itemdesc = regex.findall(string)
for word in itemdesc:
print (word)
通过使用: \b(?:[12]?\d{1,4}|30{4})#[^#]+# 我可以找到:
5173#bunch of text here
of, bunch here, text
text here, bunch of
#
找到此文本后,我想将其替换到另一个存在类似文件的文件中。
在当前阶段,我仍然需要实现类似的东西:
\b(?:number)#[^#]+#
为了找到一个文本移动并将其替换到另一个文件中,其中一个具有相同编号的文件,也在执行它之前检查是否有多次出现。
这样做之后,我将遇到另一个问题,即保存多次出现并将其存储在另一个文本中,以便手动完成其余的工作。
希望你们能提供帮助,感谢任何帮助,它不需要成为解决方案。:)
解决方案
这里的问题是,当您实际上想要在多行上匹配正则表达式时,您正在读取文件并逐行匹配正则表达式。因此,在将整个文件与正则表达式匹配之前,您应该将整个文件读入一个字符串:
import re
File1 = open('text.txt', 'r')
regex = re.compile(r'\b(?:[12]?\d{1,4}|30{4})#[^#]+#')
string = File1.read()
itemdesc = regex.findall(string)
for word in itemdesc:
print (word)
推荐阅读
- java - 未能执行目标 org.apache.maven.plugins:maven-gpg-plugin:1.5:sign
- java - 如何在不级联删除 ChildEntities 的情况下删除(@ManyToOne)实体?
- python - matplotlib 将 df 绘制到矩形
- reactjs - 我的 React 应用程序在我的 PC 上无法正常工作
- unreal-engine4 - 即使在将显示鼠标光标布尔值设置为 false 后也显示鼠标
- javascript - 井字游戏:重置游戏后无限获胜
- python - 验证公司名称
- vue.js - Google App Engine:找不到处理程序引用的静态文件:./dist/index.html
- r - 使用 dplyr 跨多个列条件的二进制响应列
- javascript - 将 Vuejs 与 Codeigniter 3 集成