Регулярное выражение для обеспечения периодов и подчеркиваний не может быть повторено - PullRequest
0 голосов
/ 01 февраля 2019

Я не силен в Regex и хотел бы написать формулу, которая запрещает ввод с повторяющимися точками и подчеркиванием.Например, нельзя допускать следующее:

h..ello

__world

hel.....lo

world____

Точка или подчеркивание не могут предшествовать или сопровождаться другим периодом или подчеркиванием соответственно.

Ничего страшного, если они смешаны вместе следующим образом:

h._ell_.o (это допустимая строка)

wor._._ld (это допустимая строка)

1 Ответ

0 голосов
/ 01 февраля 2019

Попробуйте приведенное ниже регулярное выражение:

var input = "he__lo";
var regex = new Regex(@"\.{2}|_{2}");

var valid = !regex.Match(input).Success;

Детали:

  • "\. {2}" соответствует любому вхождению двух точек
  • "_{2} "соответствует любому вхождению двух нижних подчеркиваний
  • " | "означает «или»

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

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