Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell:-匹配并\p_Powershell_Match - Fatal编程技术网

Powershell:-匹配并\p

Powershell:-匹配并\p,powershell,match,Powershell,Match,我有一个文本文件,里面有很多地址和东西。 我需要知道这个文本文件是否包含一个放在字符串中的地址-让我们称它为“$adress”)。为了实现这一点,我将.txt放入变量“$list”,然后使用-match操作符查看$list是否包含$address if($list -Match $adress) { $test = "CONTAINS" $test } 问题是,它根本不起作用。看起来他无法处理作为地址一部分的“\p”。它应该做些什么吗?我不知道如

我有一个文本文件,里面有很多地址和东西。 我需要知道这个文本文件是否包含一个放在字符串中的地址-让我们称它为“$adress”)。为了实现这一点,我将.txt放入变量“$list”,然后使用-match操作符查看$list是否包含$address

if($list -Match $adress) {
            $test = "CONTAINS"
            $test
}

问题是,它根本不起作用。看起来他无法处理作为地址一部分的“\p”。它应该做些什么吗?我不知道如何处理它。

这个
-match
操作符使用正则表达式。这意味着任何后跟字符的反斜杠都被解释为转义序列,而不是文字字符

您可以使用以下方法转义模式中的特殊字符(包括斜杠):


$address
中的字符串是否正确转义?可能会显示实际值o:\folder\public\Data;1030.95;812.7;79;08/13/2013 13:28:49;2015年11月25日02:02:28这是文本文件的一行。地址应该是:O:\folder\public\DataYeah,您需要转义它,否则“\”将被解释为正则转义序列,而不是实际字符
if($list -match [regex]::Escape($adress)){
    "List contains at least one string matching $adress"
}