Regex 正则表达式,在反斜杠字符前停止?

Regex 正则表达式,在反斜杠字符前停止?,regex,Regex,我想使用正则表达式替换powershell中文件中的字符串,这是正则表达式: =.*\\app\\client\\.*\\ 我在该字符串上应用了这个正则表达式: HOME=C:\app\client\administrator\product 我想要这个结果: =C:\app\client\administrator 但我有一个结果: =C:\app\client\administrator\ 如何对regex说我想在下一个反斜杠之前停止?您的模式=.*\\app\\client\\\\\\\

我想使用正则表达式替换powershell中文件中的字符串,这是正则表达式:

=.*\\app\\client\\.*\\
我在该字符串上应用了这个正则表达式:

HOME=C:\app\client\administrator\product

我想要这个结果:

=C:\app\client\administrator

但我有一个结果:

=C:\app\client\administrator\


如何对regex说我想在下一个反斜杠之前停止?

您的模式
=.*\\app\\client\\\\\\\\\\\\\
将匹配上次出现的
\app\client\
,然后匹配到最后一次出现的正斜杠

要匹配
app\client\
之后的内容,但不包括最后一个反斜杠,可以使用匹配的而不是反斜杠:

=.*\\app\\client\\[^\\]*

如果开头的
*
部分不能包含反斜杠,这将是防止不必要的回溯的另一个选项,因为
*
将首先匹配到字符串的末尾:

=[^\\]*\\app\\client\\[^\\]*

您无法匹配结尾处的正斜杠
=.*\\app\\client\\[^\\]*