我需要使用REGEX从我的专有名称中提取“ OU”部分。
例如:
"CN=DAVID Jean Louis (a),OU=Coiffeur,OU=France,DC=Paris,DC=France"
"CN=PROVOST Franck,OU=Coiffeur,OU=France,DC=Paris,DC=France"
"CN=SZHARCOFF Michel (AB),OU=Coiffeur_Inter,OU=France,DC=Paris,DC=France"
我需要
"OU=Coiffeur,OU=France"
"OU=Coiffeur,OU=France"
"OU=Coiffeur_Inter,OU=France"
我尝试"CN=SZHARCOFF Michel (AB),OU=Coiffeur_Inter,OU=France,DC=Paris,DC=France" -match "^CN=[\w-()]*[\w]*"
但是没有成功
答案 0 :(得分:4)
您可以将所有OU=
+ 1个或多个非逗号子字符串与\bOU=[^,]+
正则表达式匹配,然后将它们与,
连接起来:
$matches = [regex]::matches($s, '\bOU=[^,]+') | % { $_.value }
$res = $matches -join ','
第一个字符串的输出:
OU=Coiffeur,OU=France
模式详细信息
\b
-一个单词边界,只能将OU
整个单词匹配OU=
-文字子字符串[^,]+
-1个或多个(+
)字符,而不是逗号(因为[^...]
是negated character class)。请参见regex demo。
答案 1 :(得分:0)
此模式将支持包含逗号的DistinguishedName属性,并为匹配项提供命名组。我在PowerShell中使用它来解析ADObject的父DN等。
fadeOutUIImage = fadeOutUIGameobjectImage.GetComponent<Image>();
请参见Regexr演示:https://regexr.com/5bt64