PowerShell Regex

PowerShell默认按每一行遍历去匹配模式

比如“aaa`nbbb”用“a.*b”是匹配不到的

需要用“(?s)a.*b”来匹配

1. Search

$ret = "test string" -Match "pattern"

$ret 为true时匹配成功,捕获的值用$Matches获取。

2. Replace

$result = "Test string" -Replace "Pattern", "Target string"

当pattent里有捕获时, Target string 用 $1, $2 ... 引用

 

?<=是正向查找,它与主表达式之前的组匹配,而不包含在结果中

?=是正向超前,它与主表达式后的组匹配,但不将其包括在结果中

 

样例

https://www.cnblogs.com/MerLin-LiuNian/p/15308860.html

posted @ 2023-01-19 12:20  xyphoenix  阅读(79)  评论(0)    收藏  举报