标题: [问题求助] 改进PowerShell匹配代码 [打印本页]
作者: 娜美 时间: 2022-4-18 10:40 标题: 改进PowerShell匹配代码
本帖最后由 娜美 于 2022-4-20 22:04 编辑
a.txt 是UFT-16编码
需准确匹配企业名称 和标识码 而标识码之后的字段可以忽略 需要改动的正是这一段匹配代码'.*简名:\s*(.*)\s\S*:.*','$1'
现在需要新的优化是仅企业名称相同, 标识码也相同的输出来 名称及标识码不相同的不要
作者: qixiaobin0715 时间: 2022-4-18 11:18
复制代码
作者: 娜美 时间: 2022-4-18 12:32
本帖最后由 娜美 于 2022-4-18 13:45 编辑
Sorry 主题已重新编辑 谢谢
作者: idwma 时间: 2022-4-18 21:47
- '.*简名:\s*(\S+\s*[\S:]+).*','$1'
复制代码
作者: 娜美 时间: 2022-4-18 22:46
回复 4# idwma
可以可以了
初次接触注意到powershell语言, 大哥哥可否给详细分段的讲解一下这段powershell正则匹配呢? 谢谢:handshake
- '.*简名:\s*(\S+\s*[\S:]+).*','$1'
复制代码
作者: 娜美 时间: 2022-4-19 10:11
本帖最后由 娜美 于 2022-4-19 10:14 编辑
回复 4# idwma
idwma哥哥
有一个小小现像 如果企业名称是带下面这样的
北京科尔达
北京科尔达北京
科尔达上海
科尔达
它会输出这样的 似乎多了一行 北京科尔达 似乎需要完整的匹配名称
北京科尔达
科尔达
作者: idwma 时间: 2022-4-19 17:56
https://docs.microsoft.com/zh-cn ... age-quick-reference
只会用不太会讲,可以多看几篇正则入门的文章一搜一大堆,然后再多看看帮助- 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}})
复制代码
作者: 娜美 时间: 2022-4-19 19:41
回复 7# idwma
ThanksThanks
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |