批处理之家's Archiver

娜美 发表于 2022-4-18 10:40

改进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]

qixiaobin0715 发表于 2022-4-18 11:18

[code].*(科尔达.*:.*?)\(.*[/code]

娜美 发表于 2022-4-18 12:32

[i=s] 本帖最后由 娜美 于 2022-4-18 13:45 编辑 [/i]

[size=12px]Sorry    主题已重新编辑   谢谢[/size]

idwma 发表于 2022-4-18 21:47

[code]'.*简名:\s*(\S+\s*[\S:]+).*','$1'[/code]

娜美 发表于 2022-4-18 22:46

[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]

娜美 发表于 2022-4-19 10:11

[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]

idwma 发表于 2022-4-19 17:56

[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]

娜美 发表于 2022-4-19 19:41

[b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=254534&ptid=62388]7#[/url] [i]idwma[/i] [/b]


   ThanksThanks:handshake

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.