gpt4 book ai didi

regex - PowerShell 正则表达式的意外结果

转载 作者:行者123 更新时间:2023-12-02 08:06:13 25 4
gpt4 key购买 nike

我正在尝试识别日志文件中的错误。该应用程序使用五个大写字母后跟三个数字后跟“E”作为错误代码。错误代码后跟一个非单词字符。我正在识别案例:

$errors=Select-string -Path "logfile.txt" -Pattern "[A-Z]{5}[0-9]{3}E\W"

但是现在剩下的内容包括了

ab1bea8a-a00e-4211-b1db-2facecfd725e.

正则表达式匹配并标记为错误。我将正则表达式更改为

\p{Lu}{5}[0-9]{3}E\W

(我 expected to match five upper case 个字符),但为什么它仍然匹配非错误小写模式?

最佳答案

“不区分大小写”正则表达式标志由 Select-String 设置,这使得 \p{Lu} 不区分大小写,就像它对 [A-Z].

尝试在命令中添加 -CaseSensitive 参数。

您可以通过运行一些 .NET 代码来确认这一点,例如在 LINQPad 中:

(new Regex(@"\p{Lu}", RegexOptions.IgnoreCase)).IsMatch("a")

关于regex - PowerShell 正则表达式的意外结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51242160/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com