首页 > 解决方案 > 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)$"

任何帮助将非常感激。

标签: pythonregex

解决方案


推荐阅读