регулярных выражений в Java Я хочу сделать регулярное выражение, кто это делает убедитесь, что слово имеет вид [0-9A-Za-z] [._- '] [0-9A-Za-z] пример правильных слов
A21a_c32 daA.da2 das'2 dsada ASDA 12SA89
недопустимые слова
dsa#da2 34$
Спасибо
^[0-9A-Za-z]+[._'-]?[0-9A-Za-z]+$ ( смотреть матчи на rubular.com )
^[0-9A-Za-z]+[._'-]?[0-9A-Za-z]+$
Ключевые моменты:
^
$
+
?
-
.
"(\\p{Alnum})*([.'_-])?(\\p{Alnum})*"
В этом решении я предполагаю, что разделитель является необязательным, пустая строка также допустима, и что строка может начинаться / заканчиваться разделителем или состоять только из разделителя.
Если [._'-] является необязательным, введите ? с следующими символами, например:
[._'-]
[0-9A-Za-z]+([._'-][0-9A-Za-z]+)?