Powershell正则表达式匹配字母

时间:2018-09-03 08:41:39

标签: regex powershell

在Powershell中需要有关正则表达式格式的建议。

我有一些AD用户,这些用户都具有自定义属性“ A”,“ AA”,“ B”,“ BB”,并且长度最多为5个字母,范围从A-Z。

因此,我想查找具有“ ABAA”属性的用户,然后创建一个变量,该变量将用于查找要选择的路径。 例如。属性为“ AA”的用户将进入“ A”组织单位。

if ($customattribute -match '^[a-z]{2}[^a-z]')

我猜这只是匹配随机字母。

2 个答案:

答案 0 :(得分:0)

此正则表达式更适合您对数据的描述:

if ($customattribute -match '^[A-Z]{2,5}$')

您的正则表达式将在字符串的开头匹配两个小写字母,然后另一个字符可以是除小写字母之外的任何其他字符-听起来不是您所需要的。

答案 1 :(得分:0)

我认为这将最适合我的需求

if ($customattribute -match '^A[A-Z]') 

然后,我获得了具有自定义属性的所有用户,例如AA,AB和ACA。

AA
AB
ACA

但是我如何将正则表达式限制为仅2个字母,以便我得到以A开头的所有2个字母的组合?

@edit

我想通了:

if ($customattribute -match '^A[A-Z]{1}$') # 2 letters

if ($customattribute -match '^A[A-Z]{2}$') # 3 letters