从文件中获取字符串的 PowerShell 问题

布兰登

问题

我正在 powershell 中处理自动版本控制脚本,但在尝试从 AssemblyInfo.cs 文件中提取一行文本时遇到了障碍。但是,尽管我付出了所有努力,但我似乎无法让它按预期工作。

经过多次试验和错误以达到预期的结果,我发现以下内容接近我想要实现的目标:

# Constants
$Assembly = Get-Item "C:\generalfilepath\*\Assembly.cs"
$regex = '(?<!\/\/ \[assembly: AssemblyVersion\(")(?<=\[assembly: AssemblyVersion\(")[^"]*'

$CurrentVersion = GC $Assembly
$CurrentVersion = $CurrentVersion -match $regex

Write-Host "CurrentVersion = $CurrentVersion

我期待看到:CurrentVersion = 1.0.0.0或类似的东西,但我得到的是:CurrentVersion = [assembly: AssemblyVersion("1.0.0.0")]

我一直在四处寻找有关如何在 PowerShell 中正确使用正则表达式的示例,但我还没有真正找到任何包含正则表达式本身以外的内容......因此,我希望这里有人可以帮助我指导我正确的方向或指出我做错了什么。

问题

尽管使用了正则表达式过滤器,但我得到了整行而不是我想要的值。如何使用后视和前瞻正则表达式过滤器确保变量仅存储目标值?

默瓦尔德

你可以试试:

C:\> ([string] (Get-Content \AssemblyInfo.cs)) -match 'AssemblyVersion\("([0-9]+(\.([0-9]+|\*)){1,3}){1}"\)'
True

之后将结果存储在 $Matches[1]

C:\> $Matches[1]
6.589.0.123

要知道投的成绩Get-Content[string],否则$Matches$null有关完整说明,请参阅此答案

如果您想使用更“贪婪”的正则表达式^\[assembly: AssemblyVersion\("([0-9]+(\.([0-9]+|\*)){1,3}){1}"\),其中还包括一个检查 ( ^\[assembly:) 字符串开头的字符串,[assembly您必须遍历[string[]]数组Get-Content返回:

> gc .\AssemblyInfo.cs | % { $_ -match '^\[assembly: AssemblyVersion\("([0-9]+(\.([0-9]+|\*)){1,3}){1}"\)' }

> $Matches[1]
6.589.0.*

希望有帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在c中获取字符串长度的问题

来自分类Dev

如何从Powershell管道中获取字符串数组?

来自分类Dev

使用Powershell替换XML文件格式文件(.Config文件)中的行字符串的问题

来自分类Dev

文件夹中每个文件中的Powershell更新字符串出现问题

来自分类Dev

PowerShell从网页获取字符串

来自分类Dev

Powershell TrimEnd()中的字符串处理问题

来自分类Dev

我在获取字符串时遇到问题

来自分类Dev

Powershell中RegKey的问题

来自分类Dev

PowerShell 2.0获取字符串的长度

来自分类Dev

使用Powershell在变量中获取字符串的第一行

来自分类Dev

从Powershell中的Get-WebBinding获取字符串格式的IIS IP地址

来自分类Dev

需要在PowerShell中的两种模式之间获取字符串

来自分类Dev

在日志文件中获取包含字符串的行(Powershell)

来自分类Dev

从C中的名称文件读取字符串时遇到问题

来自分类Dev

Powershell 问题:字符串到对象的实例用作 export-vapp 的文件名

来自分类Dev

CSV文件中的字符串问题

来自分类Dev

Powershell中的Git日志问题

来自分类Dev

genfromtxt()中的NumPy dtype问题,以字节字符串形式读取字符串

来自分类Dev

从 Powershell 中 Get-Item 的输出中获取字符串的一部分

来自分类Dev

PowerShell中的文件输出问题

来自分类Dev

PowerShell中的文件输出问题

来自分类Dev

Powershell正则表达式获取字符串和字符之间的字符串

来自分类Dev

如何从PowerShell中的字符串中获取交替字符?

来自分类Dev

我的以下代码使用指针获取字符串长度有什么问题?

来自分类Dev

php递归函数问题来获取字符串的一部分

来自分类Dev

grep 的问题并在循环中获取字符串的计数

来自分类Dev

从用户那里获取字符串:将不需要的单词放入数组的问题

来自分类Dev

从文件中获取字符串

来自分类Dev

Powershell - 字符串操作 - 从完整文件路径获取目录

Related 相关文章

  1. 1

    在c中获取字符串长度的问题

  2. 2

    如何从Powershell管道中获取字符串数组?

  3. 3

    使用Powershell替换XML文件格式文件(.Config文件)中的行字符串的问题

  4. 4

    文件夹中每个文件中的Powershell更新字符串出现问题

  5. 5

    PowerShell从网页获取字符串

  6. 6

    Powershell TrimEnd()中的字符串处理问题

  7. 7

    我在获取字符串时遇到问题

  8. 8

    Powershell中RegKey的问题

  9. 9

    PowerShell 2.0获取字符串的长度

  10. 10

    使用Powershell在变量中获取字符串的第一行

  11. 11

    从Powershell中的Get-WebBinding获取字符串格式的IIS IP地址

  12. 12

    需要在PowerShell中的两种模式之间获取字符串

  13. 13

    在日志文件中获取包含字符串的行(Powershell)

  14. 14

    从C中的名称文件读取字符串时遇到问题

  15. 15

    Powershell 问题:字符串到对象的实例用作 export-vapp 的文件名

  16. 16

    CSV文件中的字符串问题

  17. 17

    Powershell中的Git日志问题

  18. 18

    genfromtxt()中的NumPy dtype问题,以字节字符串形式读取字符串

  19. 19

    从 Powershell 中 Get-Item 的输出中获取字符串的一部分

  20. 20

    PowerShell中的文件输出问题

  21. 21

    PowerShell中的文件输出问题

  22. 22

    Powershell正则表达式获取字符串和字符之间的字符串

  23. 23

    如何从PowerShell中的字符串中获取交替字符?

  24. 24

    我的以下代码使用指针获取字符串长度有什么问题?

  25. 25

    php递归函数问题来获取字符串的一部分

  26. 26

    grep 的问题并在循环中获取字符串的计数

  27. 27

    从用户那里获取字符串:将不需要的单词放入数组的问题

  28. 28

    从文件中获取字符串

  29. 29

    Powershell - 字符串操作 - 从完整文件路径获取目录

热门标签

归档