regex - 如果找到正则表达式,则修改一行中的位置
问题描述
我需要修改找到单词'Example'的每一行的第10个位置(不能在这里使用实际数据)并添加字符串'(ID)'。它不一定必须以 9 个数字开头,只需将字符串添加到位置数字 10 即可。例如,这行应该这样修改:
- ORIGINAL:123456789此行用作示例
- 解决方案:123456789(ID)此行用作示例
到目前为止,我有这个,找到示例并复制该行的其余部分,以免丢失文本:
Find: (.*)Example
如果它适用于不同句子中的两个不同单词“Example1”和“Example2”,则该示例的“and Also”部分将在每一行中发生变化。
- 原文:123456789此行被用作示例 1 和示例 2
- SOLUTION: 123456789(ID) 此行用作示例 1 和示例 2
这将有这样的搜索:
Find: (.*)Example1(.*)Example2
谢谢
解决方案
你可以试试:
Find: (\d{9})(?=.*\bExample1\b.*\bExample2\b)
Replace: $(ID)
^^^ single space after (ID)
演示
使用的正则表达式模式匹配并捕获一个 9 位数字(您可以根据需要调整到任何宽度或宽度范围)。它还使用积极的前瞻来断言Example1
并且Example2
实际上发生在同一行的后面:
(?=.*\bExample1\b.*\bExample2\b)
推荐阅读
- javascript - 打开新标签时如何避免空白被阻止
- python - Django 与 apache-cassandra 数据库与 pycharm
- ios - 反应本机 063 ld:找不到 -lDoubleConversion 的库
- assembly - 汇编:Dword 到 Hex 转换问题
- amazon-web-services - 如何在 Electron JS 中从 Cognito OAuth2.0 动态获取 AccessToken
- python - 如何从熊猫数据农场中删除没有数据的列
- java - Intelij Java连接到mysql不起作用
- r - Append a character to a specific location in a column in a data frame
- python - 对 Flask ajax 的错误请求 Json
- c# - 向后移动时的Unity 3D移动问题