$String = @'
the fox [GO Here] jumped up
HERE
Using [IMB](www.IMB.com)
Using [Xerox](www.Xerox.com)
Using [Banana](www.Banana.com)
the fox [GO Here] jumped up
'@
$String -replace "\[(.*?)\]\(", "$1"
我得到的输出是:
the fox jumped up
Using (www.foxtrot.com)
Using (www.IMB.com)
Using (www.Xerox.com)
Using (www.Banana.com)
the fox jumped up
我期待得到的是:
IMB
Xerox
Banana
根据RexEx101,这是有效的。我的RegEx foo一点也不强,所以很可能是我的错。
2条答案
按热度按时间8zzbczxx1#
实现您所需功能的最简单方法是直接使用API call:
Select-String -AllMatches
:1cklez4t2#
您需要一个正后向Assert
(?<=\[)
和正前向Assert(?=\]\()
来只匹配您想要的部分。输出: