python - re.sub、正则表达式和完全匹配
问题描述
我正在尝试匹配文本文件中的任何“1c”实例,并在 Python 中使用 re 替换它们。我已经尝试了许多不同的组合使用积极的前瞻,但仍然没有成功。如果有比我更好的 Regex 能指出我正确的方向,那就太好了。
这是我的脚本:
import re
with open('lorem.txt', 'r') as f:
data = f.read()
print(re.sub("1(?=c)", "</h1>", data))
和文本文件:
Lorem hello dolor sit amet,
1consetetur sadipscing elitr 1c, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,
sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem hello dolor sit amet. Lorem hello dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem hello dolor sit amet. Lorem hello dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem hello dolor sit amet.
我只想匹配 1c,而不是 1,并将其替换为封闭的 h1 标签。
到目前为止,我已经尝试过:
"1\(?=c\)"
"1/(?=c)"
"1$(?=c)"
"^(1c)$"
任何帮助将非常感激。
解决方案
推荐阅读
- ruby-on-rails - 使用 bulma 图标但无法显示到屏幕上?
- rust - 为什么借用检查器不明白借用切片的不同部分基本上是可以的?
- python-3.x - 比较两个字符串以获得多个结果
- c# - 如何处理溢出(添加颜色)或下溢(减去颜色)
- apache-spark - Pyspark 交叉验证中的问题
- amazon-web-services - 在 Beanstalk nodejs 环境中增加 worker_connections 的数量
- mysql - VB.NET 从 `Byte()` 类型到类型 'String is not Valid' 的转换
- python - jupyter nbconvert --to html_toc 不起作用(将带有目录的 jupyter notebook 转换为网站格式)
- javascript - Html Table按单元格值获取行ID
- ios - IOS CallKit 自动关闭来电