2015-02-02 3 views
2

У меня есть @Pattern(regexp = "^[a-zA-Z \b]+$") для поля строки. Если я хочу, чтобы этот шаблон принял символ |, как его изменить? И я не знаю, что такое \b в приведенном выше шаблоне.Regex шаблон для проверки использовать специальный символ

+0

Просто добавьте его: '[a-zA-Z \ b |]' '' \ b' означает границу слова. –

+0

спасибо, и если у меня есть этот шаблон accept '(' and ')', как его изменить? Что такое слово-граница? – Fereshteh

+0

Я добавил с ним ответ. Подумайте, принимая его, если он вам полезен. –

ответ

0

Вы должны использовать обратную косую черту «\» для escape '|'.

\ b представляет границы слова.
Другими словами, это означает, что слова начинаются и заканчиваются.

Вот a good text about this

Try использование @Pattern(regexp = "^[\|a-zA-Z \b]+$")

+0

, но если я хочу, чтобы этот шаблон принял три символа, такие как '|' и ')' и '(', как их можно отделить от них выше pattern – Fereshteh

+0

Просто добавьте '(' и ')' chars '@Pattern (regexp ="^[\ | \ (\) a-zA-Z \ b] + $ ")' –

0

Просто добавьте его в выражение:

^[a-zA-Z \b|]+$ 

\b означает границу слово. Существуют три разных положения, которые квалифицируются как границы слов:

  • Перед первым символом в строке, если первый символ является символом слова.
  • После последнего символа в строке, если последний символ является символом слова.
  • Между двумя символами в строке, где один является символом слова, а другой не является символом слова.

Согласно вам вопрос на комментарии, чтобы добавить parenteshis к вашему выражению, просто добавить его в регулярное выражение как:

^[a-zA-Z \b|()]+$ 

Вы должны прочитать что-то на регулярное выражение, это очень полезно, как вы можете посмотреть здесь: http://www.regular-expressions.info/tutorial.html

+0

большое спасибо! – Fereshteh

Смежные вопросы