[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[问题求助] 改进PowerShell匹配代码

本帖最后由 娜美 于 2022-4-20 22:04 编辑

a.txt   是UFT-16编码


需准确匹配企业名称  和标识码      而标识码之后的字段可以忽略   需要改动的正是这一段匹配代码'.*简名:\s*(.*)\s\S*:.*','$1'

现在需要新的优化是仅企业名称相同, 标识码也相同的输出来  名称及标识码不相同的不要

  1. .*(科尔达.*:.*?)\(.*
复制代码

TOP

本帖最后由 娜美 于 2022-4-18 13:45 编辑

Sorry    主题已重新编辑   谢谢

TOP

  1. '.*简名:\s*(\S+\s*[\S:]+).*','$1'
复制代码
1

评分人数

TOP

回复 4# idwma



可以可以了  




初次接触注意到powershell语言,   大哥哥可否给详细分段的讲解一下这段powershell正则匹配呢?  谢谢:handshake
  1. '.*简名:\s*(\S+\s*[\S:]+).*','$1'
复制代码

TOP

本帖最后由 娜美 于 2022-4-19 10:14 编辑

回复 4# idwma


   idwma哥哥   
有一个小小现像  如果企业名称是带下面这样的
北京科尔达
北京科尔达北京
科尔达上海
科尔达




它会输出这样的   似乎多了一行  北京科尔达     似乎需要完整的匹配名称
北京科尔达
科尔达

TOP

https://docs.microsoft.com/zh-cn ... age-quick-reference
只会用不太会讲,可以多看几篇正则入门的文章一搜一大堆,然后再多看看帮助
  1. 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}})
复制代码
1

评分人数

TOP

回复 7# idwma


   ThanksThanks

TOP

返回列表