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