改进PowerShell匹配代码
[i=s] 本帖最后由 娜美 于 2022-4-20 22:04 编辑 [/i]a.txt 是UFT-16编码
[size=3]需准确匹配企业名称 和标识码[/size] [size=3] 而[/size]标识码[size=3]之后的字段可以忽略 [/size][size=3] [font=Monaco, Consolas, \Lucida Console\, \Courier New\, serif][color=#0c00be]需要改动的正是这一段匹配代码[/color][/font][font=Monaco, Consolas, Lucida Console, \c ourier New, serif][color=#0c00be]'.*简名:\s*(.*)\s\S*:.*','$1'[/color][/font][/size]
[size=3]
[/size][size=3]现在需要新的优化是仅企业名称相同, 标识码也相同的输出来 名称及标识码不相同的不要[/size]
[size=12px]
[/size] [code].*(科尔达.*:.*?)\(.*[/code] [i=s] 本帖最后由 娜美 于 2022-4-18 13:45 编辑 [/i]
[size=12px]Sorry 主题已重新编辑 谢谢[/size] [code]'.*简名:\s*(\S+\s*[\S:]+).*','$1'[/code] [b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=254484&ptid=62388]4#[/url] [i]idwma[/i] [/b]
[size=3]
可以可以了:handshake [/size]
[size=3]初次接触注意到powershell语言, 大哥哥可否给详细分段的讲解一下这段powershell正则匹配呢? 谢谢[/size]:handshake
[size=3][code]'.*简名:\s*(\S+\s*[\S:]+).*','$1'[/code]
[/size] [i=s] 本帖最后由 娜美 于 2022-4-19 10:14 编辑 [/i]
[b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=254484&ptid=62388]4#[/url] [i]idwma[/i] [/b]
[b][i]idwma[/i][/b]哥哥
有一个小小现像 如果企业名称是带下面这样的
[size=12px]北京科尔达[/size]
[size=12px]北京科尔达[/size][size=12px]北京[/size]
[size=12px]科尔达上海[/size]
[size=12px]科尔达[/size]
它会输出这样的 似乎多了一行 [size=12px]北京科尔达 似乎需要完整的匹配名称[/size]
[size=12px]北京科尔达[/size]
[size=12px]科尔达[/size] [url]https://docs.microsoft.com/zh-cn/dotnet/standard/base-types/regular-expression-language-quick-reference[/url]
只会用不太会讲,可以多看几篇正则入门的文章一搜一大堆,然后再多看看帮助[code]sc D:\out.txt $(foreach($i in $a){if(($f -eq 0) -and $i -match "简名:\s*$b"){$i;$f=1}elseif(($f -eq 1) -and $i -match '已执行'){$f=0;$i,''}elseif($f -eq 1){$i}})[/code] [b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=254534&ptid=62388]7#[/url] [i]idwma[/i] [/b]
ThanksThanks:handshake
页:
[1]