如何在 string.replace 中输入正则表达式?

2023-11-25

我需要一些关于声明正则表达式的帮助。我的输入如下:

this is a paragraph with<[1> in between</[1> and then there are cases ... where the<[99> number ranges from 1-100</[99>. 
and there are many other lines in the txt files
with<[3> such tags </[3>

所需的输出是:

this is a paragraph with in between and then there are cases ... where the number ranges from 1-100. 
and there are many other lines in the txt files
with such tags

我试过这个:

#!/usr/bin/python
import os, sys, re, glob
for infile in glob.glob(os.path.join(os.getcwd(), '*.txt')):
    for line in reader: 
        line2 = line.replace('<[1> ', '')
        line = line2.replace('</[1> ', '')
        line2 = line.replace('<[1>', '')
        line = line2.replace('</[1>', '')
        
        print line

我也尝试过这个(但似乎我使用了错误的正则表达式语法):

        line2 = line.replace('<[*> ', '')
        line = line2.replace('</[*> ', '')
        line2 = line.replace('<[*>', '')
        line = line2.replace('</[*>', '')

我不想硬编码replace从 1 到 99。


这个经过测试的片段应该可以做到:

import re
line = re.sub(r"</?\[\d+>", "", line)

Edit:这是一个注释版本,解释了它是如何工作的:

line = re.sub(r"""
  (?x) # Use free-spacing mode.
  <    # Match a literal '<'
  /?   # Optionally match a '/'
  \[   # Match a literal '['
  \d+  # Match one or more digits
  >    # Match a literal '>'
  """, "", line)

正则表达式是fun!但我强烈建议花一两个小时学习基础知识。对于初学者,您需要了解哪些字符是特殊的:“元字符”需要转义(即前面放置反斜杠 - 并且字符类内部和外部的规则不同。)有一个很棒的在线教程:www.正则表达式.info。您在那里度过的时间将带来数倍的回报。快乐的调整!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 string.replace 中输入正则表达式? 的相关文章

随机推荐

  • SELECT DISTINCT 值并 INSERT INTO 表

    我想获取一个包含重复多次的值的列 并仅获取该值一次并将其存储以供以后使用 但同时我想在与该不同列相同的行中获取另一个值 A B C 32263 123456 44 32263 123456 45 32263 123456 46 32264
  • C# 导入 C++ dll

    我有一个托管 dll 文件 它将函数从 C dll 导入到托管环境 我在程序中使用了它的一些函数 但问题是 当我使用它时出现此错误 无法加载 DLL Libraries lib dll 找不到指定的模块 HRESULT 异常 0x80070
  • Javascript Fetch API:标头参数不起作用

    这是我的示例请求 var header new Headers Platform Version 1 App Version 1 Platform FrontEnd var myInit method GET headers header
  • 如何在同一个图上绘制箱形图和特定点?

    我们可以绘制如下箱线图 qplot factor cyl mpg data mtcars geom boxplot 并点为 qplot factor cyl mpg data mtcars geom point 你会如何结合两者 但只是为了
  • 将多行合并为一行多列数据 R

    我有一个数据集 其中以不同方式测量相同的效果 我想比较这些测量结果 我的数据集如下所示 Study MType ID Insect Mean Sd N Alla Fecundity 1 Aphid 62 7628 11 Alla RGR 1
  • java中的字符串池

    Java有字符串池 因此字符串类的对象是不可变的 但我的问题是 创建 String POOL 的必要性是什么 为什么字符串类不像其他类那样保留它自己的值 JVM 内部是否需要一些字符串 或者这是性能优势 如果是的话怎么办 池是可能的 因为字
  • 通过“灾难恢复”在内存和存储受限的系统上加密和/或解密大文件 (AES)

    我有一个相当笼统的问题 所以如果有点模糊 请原谅 因此 我们假设有一个 1GB 的文件 需要在给定系统上加密并随后解密 问题是系统的可用内存少于 512 MB 存储空间大约为 1 5 GB 给定或需要 因此 对于 板载 文件 我们有大约 5
  • 更改 Oracle 11g XE 上的 NLS 字符集参数

    我使用的是 Oracle 11g Express 版 目前 当我使用以下命令检查 NLS 字符集参数时SELECT FROM nls database parameters 它给出了默认值 NLS CHARACTERSET AL32UTF8
  • 如何在 ASP.NET Core 中使用支持依赖注入的自定义模型绑定器?

    我正在尝试在 MVC 中使用自定义模型绑定器 我想从 IoC 容器中解析它 我遇到的问题是 在添加 MVC 服务时无法访问我的容器 因为我的容器尚未构建 并且我需要在构建容器之前添加 MVC 感觉就像是先有鸡还是先有蛋的问题 我确信我缺少一
  • 如何安装 Microsoft.SqlServer.Management.SqlParser?

    当我在新机器上重建它时 我的 c 安装程序项目出现了很多警告 类似的警告是 他们正在寻找 11 0 0 0 版本的 dll 而该 dll 只存在 10 0 0 0 版本 我发现这是由于安装的 SQL Server 版本 SQL Server
  • 如何允许匿名上传到云存储

    我需要我的用户将文件上传到我的 Google Cloud Storage 而无需通过 Google 进行身份验证 这些用户主要是运行我的应用程序的 Windows 台式机 笔记本电脑用户 在阅读了不同的身份验证机制后 我发现可断点续传可能就
  • OSX 10.9.2 上的 Java 1.7 作为 1.5 运行?

    为这件事揪着我的头发 java version and javac version两者都报告相同的 1 7 0 45 但是当我尝试编译最简单的类时 我收到一个类文件错误 gt cat A java public class A gt jav
  • 带有语句主体的 lambda 表达式无法转换为 nopCommerce 中的表达式树 [重复]

    这个问题在这里已经有答案了 我尝试在 nopCommerce 3 0 中创建 linq 联接查询 我在 linq 中加入两个表并写入 代码成功 但视觉工作室智能感知显示错误 例如 带有语句体的 lambda 表达式无法转换为表达式树 请看下
  • 为什么需要“-lpthread”?

    所以我的问题是 为什么在编译命令末尾需要 lpthread 为什么这个命令有效 gcc o name name c lpthread 但这不会 gcc o name name c 我在我的 C 代码中使用 pthread h 库 我已经在网
  • Jersey 客户端上传进度

    我有一个球衣客户端 需要上传一个足够大的文件以需要进度条 问题是 对于需要几分钟的上传 我看到传输的字节数达到 100 申请一开始 然后需要几分钟时间来打印 on finish 字符串 就好像字节被发送到缓冲区 我正在读取传输到缓冲区的速度
  • 如何修复 Vue3 客户端版本的“unsafe-eval”错误?

    我在我的应用程序中使用 Express cors 和头盔 Vue3仅在客户端使用 库文件自托管在public文件夹中 我只是做 将模块添加到客户端 问题是当我使用它时 它总是给我一个Uncaught EvalError Refused to
  • Java 中文件存在的锁定

    简洁版本 为什么要File createNewFile 不能用于文件锁定 或者更具体地说 如果使用它来锁定应用程序数据目录是否会出现问题 Details 我想使用锁定文件来保护我的应用程序数据目录 如果该文件lock存在 目录被锁定 应用程
  • SqlBulkCopy 从列表 <>

    如何使用 SqlBulkCopy 从简单对象的 List 中进行大量插入 我是否实现自定义 IDataReader With 快速会员 您可以做到这一点 而无需通过DataTable 在我的测试中 性能提高了一倍多 using var bc
  • 如何在我的应用程序中手动包含 VCL 样式?

    我有一个应用程序 它使用条件能够将其编译为 VCL 表单应用程序或 Delphi XE2 中的 Windows 服务应用程序 但是 由于我手动更改了项目的主源文件 IDE 将不再允许我使用标准项目选项窗口进行某些修改 具体来说 我无法选择要
  • 如何在 string.replace 中输入正则表达式?

    我需要一些关于声明正则表达式的帮助 我的输入如下 this is a paragraph with lt 1 gt in between and then there are cases where the lt 99 gt number