Regex Powershell正则表达式
是否有Powershell regex命令可用于将文本字符串中的最后一个连续零替换为“M”。例如: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
$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”
。