.NET Regex

Vodnik

можно ли какой нибудь одним регексом проверить что строка состоит из букв и цифр, длиной N и обзетально содержит хотябы 1 заглавную, 1 строчную и 1 цифру?

kruzer25

Конечно, можно! Находишь все такие строки, и перечисляешь их в выражении через (string1|string2|string3|...) :D

Vodnik

а человеческими способами?

kruzer25

А что тебе не нравится?
Ты сначала нормально сформулируй, что и зачем тебе надо, тогда тебе и ответят нормально.

Vodnik

а что тебе не нравится в формулировке?

hwh2010

можно ли какой нибудь одним регексом проверить что строка состоит из букв и цифр, длиной N и обзетально содержит хотябы 1 заглавную, 1 строчную и 1 цифру?
На вопрос "можно ли?" ответ "можно"
На вопрос "как?" ответ "а зачем тебе одним регекспом?".
Ну не предназначены регекспы для подсчёта длины!

anatolii

можно ли какой нибудь одним регексом проверить что строка состоит из букв и цифр, длиной N и обзетально содержит хотябы 1 заглавную, 1 строчную и 1 цифру?
Мб так?
 

int N = 42;
Regex re = new Regex(@"^(?=.*[A-Z]?=.*[a-z]?=.*[0-9])[A-Za-z0-9]{" + N.ToString + "}$");

Andbar

Описанная тобой строка принадлежит множеству строк /^[a-zA-Z1-9]{N}$/ за вычетом двух множество: /^[a-z1-9]{N}$/ и /^[A-Z1-9]{N}$/

kruzer25

а что тебе не нравится в формулировке?
Мне в ней всё нравится, и я уже дал тебе правильный ответ в рамках этой формулировки.

kruzer25

за вычетом двух множество: /^[a-z1-9]{N}$/ и /^[A-Z1-9]{N}$/
Забыл ещё одно, которое /^[a-zA-Z]{N}$/

durka82

Так это подстрока или строка?
Если строка, то ее длина и так известна.

Vodnik

спасибо, работает

Vodnik

а еще мне было интересно, можно ли как то одним выражанием заменить каждое N-ное "длинное" слово в строке?
слово - это просто слово русского языка, длинное - это длиной не меньше M

Marusetta

что конкретно, N-е длинное, или N-е, если оно длинное?

Vodnik

первое
Оставить комментарий
Имя или ник:
Комментарий: