我有一些正则表达式的问题主要是因为我认为我能找到的信息不是专门针对powershell的,我尝试的所有样本都是错误的或者没有按预期工作.我试图用另一个单词替换字符串中第一次出现的单词但不替换该单词的任何其他出现.举一个例子取字符串:
My name is Bob, her name is Sara.
我想更换的第一次出现name有baby如此生成的字符串会
My baby is Bob, her name is Sara.
我一直在https://regex101.com/工作,尝试构建并查看我选择的内容,但正如我所说,这些都没有正则表达式的PowerShell风格.在那我可以关闭global标志,它似乎选择第一次出现但不在powershell中.所以我真的不知道从哪里开始所有人真正拥有的是选择所有出现的单词name:
$test = "My name is Bob, her name is Sara."
$test -replace 'name', 'baby'
Run Code Online (Sandbox Code Playgroud)
Ale*_* K. 21
替换n次的一种方法:
$test = "My name is Bob, her name is Sara."
[regex]$pattern = "name"
$pattern.replace($test, "baby", 1)
> My baby is Bob, her name is Sara
Run Code Online (Sandbox Code Playgroud)
您可以捕获前后的所有内容并替换它:
'My name is Bob, her name is Sara.' -replace '(.*?)name(.*)', '$1baby$2'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12331 次 |
| 最近记录: |