Regex Powershell正则表达式太烦人了

Regex Powershell正则表达式太烦人了,regex,powershell,Regex,Powershell,我有以下网址 http://servername:12345/sites/MYSITE1/SUBSITE1 http://servername:543/sites/MYSITE2/SUBSITE1/SUBSITE2 我想删除之前的所有内容,包括/sites/,以提供以下输出 MYSITE1\SUBSITE1 MYSITE2\SUBSITE1\SUBSITE2 我尝试过-替换“*/sites/”,“,但是他的没有给出所需的结果。*表示任意数量的字符。因此,它将删除站点之前的所有字母。一些字符“

我有以下网址

http://servername:12345/sites/MYSITE1/SUBSITE1
http://servername:543/sites/MYSITE2/SUBSITE1/SUBSITE2
我想删除之前的所有内容,包括
/sites/
,以提供以下输出

MYSITE1\SUBSITE1
MYSITE2\SUBSITE1\SUBSITE2

我尝试过
-替换“*/sites/”,“
,但是他的没有给出所需的结果。

*
表示任意数量的字符。因此,它将删除
站点
之前的所有字母。一些字符“^$*+?{[]\\\\”()”在正则表达式中有特殊的含义。因此,我们需要将其屏蔽为使用“\”。例如“/”来表示“/”。试试这个

"http://servername:12345/sites/MYSITE1/SUBSITE1" -replace ".*sites\/",""

*
表示任意数量的字符。因此,它将删除
站点
之前的所有字母。一些字符
“^$*+?{[]\\\\()”
在正则表达式中有特殊含义。因此,我们需要将其屏蔽为使用“\”。例如“/”来表示“/”。试试这个

"http://servername:12345/sites/MYSITE1/SUBSITE1" -replace ".*sites\/",""

“我猜”是什么意思?你试过了吗?在你发表评论之前,我试过了,在我发布之前,没有。这已经在Look上讨论过了,很高兴亲密的快乐小组正在讨论元问题。但是这个问题提供了示例输入、预期输出和Nico尝试的内容(可能直到发表评论之后,但那是昨天)正确的答案是添加两个完整的字符。“Powershell正则表达式太烦人了”这与Powershell无关,“*”是所有语言中正则表达式的特殊字符。“我猜”是什么意思?你试过了吗?在你发表评论之前,我试过了,在我发布之前,没有。这已经在Look上讨论过了,很高兴亲密快乐小组正在讨论元问题。但是这个问题提供了示例输入、预期输出和Nico试过的内容。(可能直到发表评论之后,但那是昨天。)正确的答案是添加两个完整的字符。拜托。“Powershell正则表达式太烦人了”这与PowerShell无关,“*”是所有语言中regex的特殊字符。这太完美了!爱你@Vinoth:)谢谢,真的!你可以解释你的regex是如何工作的,为什么原版不工作。因此OP可能不仅仅是复制粘贴的方法。这太完美了!爱你@Vinoth:)谢谢,真的!你可以d解释你的正则表达式是如何工作的,为什么原版不工作。因此OP可能不仅仅是一种复制粘贴的方法。