我想使用正则表达式替换powershell文件中的字符串,这是正则表达式:
=.*\\app\\client\\.*\\
我将此正则表达式应用于该字符串:
HOME = C:\ app \ client \ Administrateur \ product
我想要这个结果:
= C:\ app \ client \ Administrateur
但是我有这个结果:
= C:\ app \ client \ Administrateur \
怎么说我想在下一个反斜杠前停下来的正则表达式?
答案 0 :(得分:1)
您的模式=.*\\app\\client\\.*\\
将匹配最后一次出现的\app\client\
,然后将匹配直到最后一次出现正斜杠为止。
要匹配app\client\
之后但不包括最后一个反斜杠的内容,可以使用negated character class匹配而不是反斜杠:
=.*\\app\\client\\[^\\]*
如果开头的.*
部分不能包含反斜线,则这是防止不必要的回溯的另一种选择,因为.*
会首先匹配到字符串的末尾:
=[^\\]*\\app\\client\\[^\\]*