文本文件内容为:
在此脚本中,我们有以下变量:
$input_path
保存我们要解析的输入文件的路径$output_file
保存我们希望将结果存储在$regex
用于保存匹配字符串时使用的正则表达式模式。 select-string
cmdlet包含各种参数,如下所示:
-Path
,它将输入文件的完整路径作为输入-Pattern
,它将匹配过程中使用的正则表达式作为输入AllMatches
搜索多个匹配项(没有此参数会在找到第一个匹配项后停止)并通过管道传输到$.Matches
然后$_.Value
代表使用当前匹配项所有比赛的价值。代码:
$replace_file=@{}
$replace_text_file_path="EMS_checksystem_script\replace.txt"
$replace_file= gc $replace_text_file_path
$result=0
$valr=read-host "please enter the key word"
for($i=0;$i -lt$file_context.length;$i++)
{
$result=$replace_file[$i] -match $valr
if( $result -eq 1)
{
$replace_file[$i]
}
}
结果:
关键字:*pression
Bad argument to operator '-match': parsing "*pression" - Quantifier {x,y} following nothing.. At line:11 char:37 + $result=$replace_file[$i] -match <<<< '*pression' + CategoryInfo : InvalidOperation: (:) [], RuntimeException + FullyQualifiedErrorId : BadOperatorArgument
关键字:pression*
关键字:press*on
没有结果
如何使用press*on
和*pression
关键字进行搜索?
答案 0 :(得分:0)
阅读正则表达式。你可以在这里测试正则表达式&gt; http://www.regexr.com/
您的关键字错误,请使用“。”匹配任何字符和“*”匹配任何数字的前一个字符。
PS C:\>'expression' -match ".*pression"
PS C:\>True