You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用正则表达式匹配后排除子串,删除路径中的contoso域名

解决方案

直接调整正则表达式的捕获规则即可实现需求,可用代码如下:

$original = 'M:\Shares\Profiles\Server\Profiles\abcd.contoso.V2.01'
$modified = $original -replace '.*\\([^\\.]+)\.contoso\.([^\\]+)$', '$1.$2'

运行后$modified的返回值就是预期的abcd.V2.01。

正则逻辑说明

  • .*\\:匹配路径最后一个反斜杠之前的所有内容,该部分直接丢弃
  • ([^\\.]+):第一个捕获组,匹配要保留的用户名前缀abcd,规则为匹配不含反斜杠、点的连续字符
  • \.contoso\.:匹配要剔除的域名段,前后的点加转义符避免误匹配其他字符,该部分直接丢弃
  • ([^\\]+):第二个捕获组,匹配域名之后要保留的后缀V2.01
  • 替换时用$1.$2拼接两个需要保留的捕获组内容,得到最终结果。

如果需要适配任意中间域名的场景,可使用通用版本:

# 自动剔除中间任意域名段,不限制为contoso
$modified = $original -replace '.*\\([^\\.]+)\.[^.]+\.([^\\]+)$', '$1.$2'

内容的提问来源于stack exchange,提问作者Rohit Kachroo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 11:06:02