regex - 如何用powershell替换每行的第一部分和最后一部分
问题描述
我想使用 PowerShell 来修改文本文件。
我想 -替换:
[REPLACE
在每一行的开头ENJOY
LINE]
在每行的末尾LIFE
- 仅当行开头
[REPLACE
和结尾为LINE]
-replace 中用于匹配此请求的正则表达式是什么?
示例 - 文件输入
[REPLACE_IN_THIS_LINE]
[DO_NOT_REPLACE_IN_THIS_LINE_PLEASE]
[REPLACE_VERY_MUCH_IN_THIS_LINE]
Do not replace in this line[REPLACE_IN_THIS_LINE]
示例 - 文件输出
ENJOY_IN_THIS_LIFE
[DO_NOT_REPLACE_IN_THIS_LINE_PLEASE]
ENJOY_VERY_MUCH_IN_THIS_LIFE
Do not replace in this line[REPLACE_IN_THIS_LINE]
正如你所看到的,在这个例子中,只有第 2 行和第 4 行发生了变化......
我想出了这个来匹配字符串:-match "^\[REPLACE.*LINE\]$"
但我不知道如何-replace
正确替换......
解决方案
我认为您需要使用“^”来验证行首,而“$”将处理行尾。我用 Java 编写了一个代码,但你可以使用这个正则表达式。
String input="[REPLACE_IN_THIS_LINE]"
Pattern Pat=Pattern.compile(("^(\\[REPLACE)(.)*(LINE\\])$"));
Matcher Mat=Pat.matcher();
if(Mat.find())
{
input=input.replace("[REPLACE","Enjoy").replace("LINE]","Life")
}
推荐阅读
- javascript - 使用鼠标轮和 onclick 事件打开新选项卡
- c# - 通过 ExcelDataReader 导入 *.xlsx 数据,受影响的记录数为 0
- angular - 如何在角度 6 中实现 $('button').click(function()
- c# - C#订阅和取消订阅事件 - 从“字符串”
- html - 为什么我的自定义字体不显示(HTML、CSS、BEGINNER)
- javascript - 在 Puppeteer 中进行 Web Scraping 时如何处理验证码?
- spring - 如何修复 ModelAttributes 返回空值?
- quarkus - quarkus-maven-plugin 是否支持多模块项目?
- python - 使用 python 从 arduino 读取 usb 信号时出现极大噪音
- python - 为什么 allshortestpath 这么慢?