正则表达式 – 如何在powershell中编写正则表达式

前端之家收集整理的这篇文章主要介绍了正则表达式 – 如何在powershell中编写正则表达式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要在power shell中使用正则表达式来按字符串##拆分字符串,并将字符串移除到另一个字符(;).

我有以下字符串.

$temp = "admin@test.com## deliver,expand;user1@test.com## deliver,expand;group1@test.com## deliver,expand;"

现在,我想拆分这个字符串,只获得电子邮件ID到新的数组对象.我的预期输出应该是这样的.

admin@test.com
user1@test.com
group1@test.com

为了得到上面的输出,我需要用字符##分割字符串并删除子字符串到分号(;).

任何人都可以帮我写一个正则表达式查询来实现PowerShell中的这种需求吗?

解决方法

如果要在方法中使用基于正则表达式的拆分,可以使用## [^;] *;正则表达式和此代码也将删除所有空值(使用|?{$_}):

$res = [regex]::Split($temp,'##[^;]*;') | ? { $_ }

## [^;] *;火柴:

> ## – 双#
> [^;] * – 除零之外的零个或多个字符;
>; – 文字;

regex demo

enter image description here

猜你在找的正则表达式相关文章