如何在 Powershell 中查找具有特定起始和结束字符的特定字符串

How to find specific string, with certain starting and ending character in Powershell

如何在文本文件中查找所有以左方括号开头并以右方括号结尾的字符串。 在代码下方使用,但也得到了一些不需要的内容。如何避免那些不需要的内容

Select-String -Path "text.txt" -Pattern '\['

输入文件:
一些内容 [你好]
adfhjadf adfjkkf [ghad]
[检查] dfgsf sfgfs

需要输出文件
[你好]
[可怜]
[检查]

在这里,试试这个:

$string = @'
some conents [hello]
adfhjadf adfjkkf [ghad]
[check] dfgsf sfgfs
'@

([regex]'\[.*?\]').Matches($string)

注意,这将匹配括号内的任何内容。如果您只查找英文字符,则应优化正则表达式。

输出应如下所示:

Groups   : {0}
Success  : True
Name     : 0
Captures : {0}
Index    : 13
Length   : 7
Value    : [hello]

Groups   : {0}
Success  : True
Name     : 0
Captures : {0}
Index    : 39
Length   : 6
Value    : [ghad]

Groups   : {0}
Success  : True
Name     : 0
Captures : {0}
Index    : 47
Length   : 7
Value    : [check]

如果您只想查看匹配项,您可以执行以下操作:

PS /> ([regex]'\[.*?\]').Matches($string).Value

[hello]
[ghad]
[check]