Powershell regex для сопоставления букв - PullRequest
0 голосов
/ 03 сентября 2018

Нужен совет по форматированию регулярного выражения в powershell.

У меня есть некоторые пользователи AD, у всех из которых есть пользовательские атрибуты "A", "AA", "B", "BB" и длиной до 5 букв в диапазоне от A-Z.

Итак, я хочу найти, у какого пользователя есть атрибут «ABAA», а затем создать переменную, которая будет использоваться для определения пути. Например. пользователь с атрибутом «AA» перейдет в организационную единицу «A».

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

Полагаю, это соответствует случайным буквам. Как будет форматирование для "AA" или "BBB"?

Ответы [ 2 ]

0 голосов
/ 04 сентября 2018

Я подумал, что это лучше всего подойдет моим потребностям

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

Тогда я получу всех пользователей с обычным атрибутом, таких как AA, AB и ACA.

AA
AB
ACA

Но как я могу ограничить регулярное выражение только 2 буквами, чтобы я получил все двухбуквенные комбинации, начинающиеся с A?

@ редактировать

Ну, я понял это:

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

if ($customattribute -match '^A[A-Z]{2}$') # 3 letters
0 голосов
/ 03 сентября 2018

Это регулярное выражение лучше подходит под ваше описание данных:

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

Ваше регулярное выражение будет соответствовать двум строчным буквам в начале строки, а затем другому символу, который может быть чем угодно, кроме строчной буквы - не похоже, что это то, что вам нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...