【发布时间】:2019-03-09 18:11:50
【问题描述】:
我在表单中有一个 exe 输出
Compression : CCITT Group 4 Width : 3180
并尝试使用 PowerShell 脚本将 CCITT Group 4 提取到 $var
$var = [regex]::match($exeoutput,'Compression\s+:\s+([\w\s]+)(?=\n)').Groups[1].Value
http://regexstorm.net/tester 说,正则表达式 Compression\s+:\s+([\w\s]+)(?=\n) 是正确的,但不是 PowerShell。 PowerShell 不匹配。如何正确编写正则表达式?
【问题讨论】:
-
我怀疑你最后可能有
\r\n。但是,您根本不需要前瞻,因为要到达第一个换行符,您可以使用.*或.+。 -
@PetSerAl 奇怪,tio.run 工作正常,但我的本地脚本没有?神秘?
-
@PetSerAl 比你们所有人。我明白了,我将 exe 输出转换为字符串 (
| Out-String) 并且它获得了。
标签: regex powershell newline