【问题标题】:How do I Build a Regex Expression to Find String如何构建正则表达式来查找字符串
【发布时间】:2019-02-09 17:36:14
【问题描述】:

我一直在研究有关正则表达式主题的内容,但无法理解如何使其发挥作用!我需要构建一个正则表达式来定位一个特定的字符串,可能在多个日志文件的多个位置。如果我将搜索表达式键入文本编辑器,它看起来像这样......

*安装失败*

以下是包含我要搜索的字符串的行的典型示例(退出代码 # 会有所不同)

!!!安装失败,退出代码 1603

我非常感谢任何有关如何为此构建正则表达式的帮助。我怀疑我可能也需要行尾字符?

我计划在以下线程中https://stackoverflow.com/users/3142139/m-hassan 提供的脚本变体中使用它

Use PowerShell to Quickly Search Files for Regex and Output to CSV

我是 powershell 脚本的新手,但我宁愿花时间弄清楚这一点,也不愿倾注数百个日志文件!

谢谢, 吉姆

【问题讨论】:

  • Get-ChildItem 检索文件系统项,Import-Csv 导入 CSV 文件,Select-String 执行正则表达式模式匹配。到目前为止,您尝试了哪些方法,结果如何?
  • 试试$s -match '(?<=Failed to install.*)\d+$'

标签: regex powershell


【解决方案1】:

你很幸运——你只需要非常简单的正则表达式。假设您要捕获错误代码,这将正常工作:

^.*Failed to install.*(exit code \d+)$

Try it online!

如果您不关心错误代码,只想知道它是否失败,您可以诚实地解决以下问题:

^.*Failed to install.*$

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 2021-09-15
    • 1970-01-01
    • 1970-01-01
    • 2016-05-16
    • 2012-05-12
    • 1970-01-01
    • 2012-04-25
    • 1970-01-01
    相关资源
    最近更新 更多