从Word文档中提取节号

时间:2018-08-16 15:34:34

标签: powershell

Word文档具有以下部分:11.2可用的SQL Server版本

我必须在Word文档中搜索

11.2是节号,而可用的SQL Server版本是标头

$SearchKeyword1 = '11.2 SQL Server Version Available'

'Get-Content $SourceFile | select-string -pattern $SearchKeyword1

我们如何使用正则表达式提及此搜索关键字...,以便检查其是否在线有可用的11.2和sql服务器版本

1 个答案:

答案 0 :(得分:0)

实际上,您的$SearchKeyword1已经检查过,因为它是要查找的非常特定的字符串。但是,如果您怀疑其他文本介于版本号11.2和文本SQL Server Version Available之间,则可以使用以下内容:

$SearchKeyword1 = '(?:11\.2).*(?:SQL Server Version Available)'

当然可以搜索11.2的文字版本。如果版本号也可以设为10.7,则可以进行更通用的搜索,例如

$SearchKeyword1 = '(?:\d{2}\.\d).*(?:SQL Server Version Available)'

如果您要检查文本中的任何版本,可以执行

$SearchKeyword1 = '(?<major>\d+)\.(?<minor>\d+).*(?:SQL Server Version Available)'

并从中得出$matches['major']$matches['minor']值中使用的版本。

希望有帮助。

顺便说一句,由于您对正则表达式非常感兴趣(看到这不是您对正则表达式的第一个问题),请尝试阅读一些教程。我在这里Regular Expressions: The Complete Tutorial

找到了一个很好的免费下载版本