我想用“for”来分割句子,除非句子中出现“all for”。它几乎可以工作,但由于某种原因缺少一个字母“s”。怎么了?
$arr = 'It is all for you','It is for you'
$arr | % {$_ -split '[^all] for'}
正则表达式
[^all]
的意思是不 (^
) 出现任何字母 a
、l
或 l
。
获得相同效果的更短方法是
[^al]
。
但是你想匹配
all
,所以你应该添加一个+
,这意味着这些字母出现1次或多次。
$arr = 'It is all for you','It is for you'
$arr | % {$_ -split '[^al]+ for'}
输出:
It is all for you
you