• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    PowerShell中正则表达式使用例子

    本文介绍PowerShell中正则表达式的使用,PowerShell的正则表达式与微软其它语言的正则表达式是一样的,使用非常方便。

    正则表达式本身是怎么回事,本文不做讨论,反正PowerShell还是用的微软的那一套正则表达式规则,学VB、ASP、C#等语言时都应该学过。我们只谈谈在PowerShell中,怎么去用正则表达式。

    先给出一个任务,使用PowerShell在d:\1.txt文件中,找到夹在数字串中的字母串。1.txt的内容如下:

    复制代码 代码如下:
    1
    12
    12aaa3
    123bbb4
    123ccc45

    我们是要把aaa bbb ccc找出来。

    先上程序:

    复制代码 代码如下:

    $file = Get-Content "d:\1.txt"
    $reg = "\d+(?alp>\w+?)\d+"
    foreach($line in $file){
       if($line -match $reg){       
           #$Matches[0];
           $Matches.alp;
       }
    }

    下面逐一解释:

    1、Get-Content是得到一个文件的内容,将其赋值给$file变量
    2、$reg是一个正则表达式,但注意括号里面(?alp>\w+?),“\w+?”这段不陌生,非贪婪的匹配Alpha字符。“?alp>”这段与正则表达式本身无关,它是PowerShell弄出来比较方便的获取括号内的匹配值的一个变量。这句有点绕,简单的说,它制造了一个变量,这个变量的值是括号内的正则表达式匹配到的值,即“\w+?”匹配到的值。我们以前学C#的时候,知道用match.Group[n]来获取括号内的值。这里是同样的道理。如果有多个括号,则可以为每个括号设置一个变量。
    3、if($line -match $reg) 判断字符串是否符合正则表达式,返回值为$True或$False
    4、$Matches.alp,这个就是对第2步的调用了,alp这个变量作为$Matches这个对象的一个成员变量了。
    5、$Matches[0],这个匹配到的完整的字符串的值,$Matches.alp是括号中的值。

    正则表达式的使用,基本这样就可以满足需要了。但后面遇到新的东西,我再添加上来。

    您可能感兴趣的文章:
    • shell 正则表达式详细整理
    • Shell正则表达式之grep、sed、awk实操笔记
    • Shell if中的正则表达式使用详解
    • Shell脚本中通过正则表达式匹配IP地址
    • Shell正则表达式验证IP地址
    • linux shell 路径截取正则表达式
    • Shell正则表达式学习笔记
    • PowerShell中使用正则表达式匹配字符串实例
    • 详解Linux--shell脚本之正则表达式
    • shell高级学习之正则表达式
    上一篇:PowerShell中调用外部程序和进程操作命令例子
    下一篇:PowerShell是什么?
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    PowerShell中正则表达式使用例子 PowerShell,中,正则,表达式,