Regex Powershell正则表达式

Regex Powershell正则表达式,regex,string,powershell,text,Regex,String,Powershell,Text,是否有Powershell regex命令可用于将文本字符串中的最后一个连续零替换为“M”。例如: $Pattern = @("000123456", "012345678", "000000001", "000120000") 最终结果: 00M123456 M12345678 0000000M1 00M120000 谢谢。搜索以下正则表达式: "^(0*)0" 正则表达式在字符串的^开头搜索0的连续字符串。它捕获所有0,但要替换的除外“^0(0*)”也可以,因为我们只需要注意不接触的0

是否有Powershell regex命令可用于将文本字符串中的最后一个连续零替换为“M”。例如:

$Pattern = @("000123456", "012345678", "000000001", "000120000")
最终结果:

00M123456
M12345678
0000000M1
00M120000

谢谢。

搜索以下正则表达式:

"^(0*)0"
正则表达式在字符串的
^
开头搜索
0
的连续字符串。它捕获所有
0
,但要替换的除外
“^0(0*)”
也可以,因为我们只需要注意不接触的
0
的数量

使用替换字符串:

'$1M'
请注意,
$1
表示第一个捕获组捕获的文本,即正则表达式中的
(0*)

@SegFault的示例:

"000120000" -replace "^(0*)0", '$1M'

搜索以下正则表达式:

"^(0*)0"
正则表达式在字符串的
^
开头搜索
0
的连续字符串。它捕获所有
0
,但要替换的除外
“^0(0*)”
也可以,因为我们只需要注意不接触的
0
的数量

使用替换字符串:

'$1M'
请注意,
$1
表示第一个捕获组捕获的文本,即正则表达式中的
(0*)

@SegFault的示例:

"000120000" -replace "^(0*)0", '$1M'

行是否会读取“$Pattern | ForEach Object{$|-replace”^(0*)0“,“$1M”?谢谢。对不起,我对正则表达式不太熟悉,但我认为应该这样做。@atownson:对不起,但我不熟悉PowerShell。我知道PowerShell使用.NET正则表达式并可以编写正则表达式,但我不能编写PowerShell命令来完成。这个答案很好,但在PowerShell中使用单引号替换字符串。
例如,“00012000”-替换“^(0*)0”,“$1M”
。该行是否会读取“$Pattern | ForEach Object{$|-replace”^(0*)0”,“$1M”“?谢谢。对不起,我对正则表达式不太熟悉,但我认为应该这样做。@atownson:对不起,但我不熟悉PowerShell。我知道PowerShell使用.NET正则表达式并可以编写正则表达式,但我不能编写PowerShell命令来完成。这个答案很好,但在PowerShell中使用单引号替换字符串。
“00012000”-例如,将“^(0*)0”替换为“$1M”