Справка по Regex / javax.validation - проверка наличия непробельных символов - Java - PullRequest
2 голосов
/ 16 июля 2010

Я пытаюсь проверить некоторые поля перед сохранением их в базе данных.В частности, мне нужно знать, что строка содержит символ без пробелов.

Я использую аннотацию javax.validation.constraints.Pattern, как показано ниже:

@Pattern(regexp = "[^\\s]")
private String field;

Это, кажется, бросаетConstraintViolation на каждую строку.Чего мне не хватает?

Ответы [ 2 ]

1 голос
/ 16 июля 2010

\S (или его эквивалент [^\s]) должны работать в соответствии с документацией.Как вы думаете, это ставит автомат "^" + expr + "$"?В соответствии с документами это не должно, но, возможно, попробуйте .*\S.*

(из моего комментария - я подумал, что этот ответ был полным выстрелом в темноте; повезло. Эти документы могут использовать некоторые пересмотры ...)

0 голосов
/ 16 июля 2010

Я думаю, вам нужно "[\\s]+". + обеспечивает выполнение одного или нескольких из этого класса символов.


Редактировать: Если я перечитываю вопрос, мне интересно, если вы вводите строки типа «Собака бежит», и она ломается, потому что есть непробельные символы, но есть и пробельные символы. Попробуйте это:

((\\s+)?([^\\s]))+

Последнее: не уверен, почему у вас есть private void field - это должен был быть String?

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