Pat*_*ric 5 regex string powershell replace
我有一个像下面的字符串"blaa ... blup..blaaa ... bla."
必须用"_"替换每个具有多个点的部分,但它必须与替换的字符具有相同的数量.
该字符串应该导致:"bla___blup__blaaa___bla".
请注意,最后一个点未被替换,因为它没有其他点"已连接".
我尝试在powershell中使用以下正则表达式方法,但无论是否有3个或更多点,我总是得到匹配的第2个:
$string -replace '(.)\1+',("_"*'$&'.length)
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
您可以使用\ G锚点将匹配粘贴到上一个.
\.(?=\.)|\G(?!^)\.
Run Code Online (Sandbox Code Playgroud)
\.(?=\.)如果另一个人领先,则匹配一个时期.|\G(?!^)\. 如果之前有匹配(但没有开始),则替换句点替换为下划线.请参阅regexstorm上的演示
| 归档时间: |
|
| 查看次数: |
2034 次 |
| 最近记录: |