英文:
Get the value of a string which is inside () in PowerShell
问题
I have content
build.setDisplayName(revisionNumber)
需要读取文件内容并获取括号内的值。我尝试了以下方法,但没有成功:
Select-String -Path "$PSScriptRoot/text.txt" -Pattern '(.+?)' | ForEach-Object { $_.Matches.Groups[1].Value }
注意: 假设我们不知道括号内的具体字符串。期望的输出是 revisionNumber
。
英文:
In a text file I have content
build.setDisplayName(revisionNumber)
I need to read the content of a file and get the value which is inside ()
.
I have tried the below but no use
Select-String -Path "$PSScriptRoot/text.txt" -Pattern '(.*)?'
Select-String -Path "$PSScriptRoot/text.txt" -Pattern "(?:)".Matches.Value
Note: Assume we don't know what is the string inside ().
My expected output is revisionNumber
答案1
得分: 1
在正则表达式中,(
和 )
是特殊字符,所以如果你想匹配字面的括号,必须对它们进行转义。
(Select-String -Path "$PSScriptRoot/text.txt" -Pattern '\(.*\)').Matches.Value
如果你想排除括号,可以使用以下方法:
(Select-String -Path "$PSScriptRoot/text.txt" -Pattern '\((.*)\)').Matches.Groups[1].Value
英文:
In regex (
and )
are special characters so you must escape them if you want to match literal parentheses
(Select-String -Path "$PSScriptRoot/text.txt" -Pattern '\(.*\)').Matches.Value
If you want to exclude the parentheses then use this
(Select-String -Path "$PSScriptRoot/text.txt" -Pattern '\((.*)\)').Matches.Groups[1].Value
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论