python - 在包含字母数字字符的字符串中添加括号
问题描述
我有一些数据,例如:
Installation start:Mon Sep 13 2021, 7:30:26 AM
Installation completed:Mon Sep 13 2021, 8:03:13 AM
Result code OK
00000000000N0NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN00NNNNNNNNN00NN0NN00NNNNNNNNNNNNNNN
Result code OK
Device has been successfully installed
Single-device update
Received at:Mon Sep 13 2021, 7:18 AM
Control unit type:secondary_ecus
Control unit identifier:meloncake0.0
Target:meloncake.0
Download start:Mon Sep 13 2021, 7:07:34 AM
Download completed:Mon Sep 13 2021, 7:07:41 AM
Installation start:Mon Sep 13 2021, 7:09:29 AM
Installation completed:Mon Sep 13 2021, 7:18:46 AM
Result code OK
Post flash seq failed | Generate maintainer threads failed | : [9A00NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNDANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNDDDDAZNNNNNNNNNNNN0NN00NAANN0NNNNNNNNNNNNNN]
Result code OK
Device has been successfully installed
Single-device update
Received at:Mon Sep 13 2021, 6:57 AM
Control unit type:secondary_ecus
Control unit identifier:meloncake.0
Target:meloncake1.0
Download start:Mon Sep 13 2021, 6:37:17 AM
Download completed:Mon Sep 13 2021, 6:37:23 AM
Installation start:Mon Sep 13 2021, 6:37:45 AM
Installation completed:Mon Sep 13 2021, 6:57:32 AM
Result code OK
Post flash seq failed | Generate maintainer threads failed | : [9A00000N000N0NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN]
Result code OK
Device has been successfully installed
Single-device update
Received at:Mon Sep 13 2021, 6:26 AM
Control unit type:secondary_ecus
Control unit identifier:meloncake.0
Target:meloncake.0
Download start:Mon Sep 13 2021, 5:52:55 AM
Download completed:Mon Sep 13 2021, 5:53:02 AM
Installation start:Mon Sep 13 2021, 5:54:01 AM
Installation completed:Mon Sep 13 2021, 6:26:48 AM
Result code OK
00000000000N0NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN00NNNNNNNNN00NN0NN00NNNNNNNNNNNNNNN
Result code OK
Device has been successfully installed
我想在长度为 128 个字符并出现在结果代码 OK行之后的字符串周围加上括号“[”、“]”
它有 128 个连续字符,后跟一个新行。什么可以是正则表达式来搜索并在其周围放置括号,以便输出为:
Installation start:Mon Sep 13 2021, 7:30:26 AM
Installation completed:Mon Sep 13 2021, 8:03:13 AM
Result code OK
[00000000000N0NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN00NNNNNNNNN00NN0NN00NNNNNNNNNNNNNNN]
Result code OK
Device has been successfully installed
Single-device update
Received at:Mon Sep 13 2021, 7:18 AM
Control unit type:secondary_ecus
Control unit identifier:meloncake0.0
Target:meloncake.0
Download start:Mon Sep 13 2021, 7:07:34 AM
Download completed:Mon Sep 13 2021, 7:07:41 AM
Installation start:Mon Sep 13 2021, 7:09:29 AM
Installation completed:Mon Sep 13 2021, 7:18:46 AM
Result code OK
Post flash seq failed | Generate maintainer threads failed | : [9A00NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNDANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNDDDDAZNNNNNNNNNNNN0NN00NAANN0NNNNNNNNNNNNNN]
Result code OK
Device has been successfully installed
Single-device update
Received at:Mon Sep 13 2021, 6:57 AM
Control unit type:secondary_ecus
Control unit identifier:meloncake.0
Target:meloncake1.0
Download start:Mon Sep 13 2021, 6:37:17 AM
Download completed:Mon Sep 13 2021, 6:37:23 AM
Installation start:Mon Sep 13 2021, 6:37:45 AM
Installation completed:Mon Sep 13 2021, 6:57:32 AM
Result code OK
Post flash seq failed | Generate maintainer threads failed | : [9A00000N000N0NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN]
Result code OK
Device has been successfully installed
Single-device update
Received at:Mon Sep 13 2021, 6:26 AM
Control unit type:secondary_ecus
Control unit identifier:meloncake.0
Target:meloncake.0
Download start:Mon Sep 13 2021, 5:52:55 AM
Download completed:Mon Sep 13 2021, 5:53:02 AM
Installation start:Mon Sep 13 2021, 5:54:01 AM
Installation completed:Mon Sep 13 2021, 6:26:48 AM
Result code OK
[00000000000N0NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN00NNNNNNNNN00NN0NN00NNNNNNNNNNNNNNN]
Result code OK
Device has been successfully installed
到目前为止的代码:
import re
with open('results.txt') as infile:
for line in infile:
m = re.search(r'', line)
我是正则表达式的新手,所以我想知道如何搜索一个由 128 个连续字符组成的字符串,后跟换行符,并且只在整个数据集中更改这些字符串。
任何帮助深表感谢!
解决方案
您的搜索需要牢记一些注意事项,例如换行代码\n
。除了在上一行中对“结果代码 OK\n”进行条件检查外,我还能够正确命中此搜索。
re.search(r'(\S{126})\n',line)
这将搜索任何长度为 126 个字符的非空格字符序列,后跟换行符\n
推荐阅读
- firebase - Flutter firebase 查询未按预期工作
- ruby-on-rails - 将 Ruby 哈希中的 KeyErrors 收集到数组中
- javascript - JavaScript算法不断返回未定义
- javascript - 如何返回包含在与数组匹配的字符串中的子字符串列表?
- javascript - 使用 JSBarcode 在循环中创建多个唯一条形码
- haskell - Haskell 给出简单函数的类型错误
- vim - 如何在vim中`==`到换行符
- google-sheets - 是否可以在 Google 表格函数中使用数组
- java - 如何使嵌入式 Jpanel 转到 WEST
- macos - 来自 Homebrew 的 gcc-11 Not Found by MacOS - 安装和 $PATH 似乎没问题