2015-04-17 2 views
0

Общее количество новичков в регулярном выражении здесь, и я был повсюду, чтобы попытаться найти ответ. Мне нужно добавить ровно 1 место, за которым следует строка буквенных символов (мин 3 макс 30) У меня есть следующие, но он будет принимать более 1 пространство, которое является проблемой:Ограничение пробелов в строке регулярных выражений

^[:blank:][A-z]{3,30}$ 

Любая помощь с этим было бы отличное

+0

Вы пробовали '[[: blank:]]'? [Приведение регулярного выражения в regex101] (https://regex101.com/r/aY6lD2/1) показывает, что классы posix должны содержаться в классах символов –

ответ

2

[A-z] также будет фиксировать [, \, ], ^, _, `.

Используйте это регулярное выражение, чтобы позволить точно 1 пространства в начале, а затем 3 до 30 английских букв:

^[[:blank:]][a-zA-Z]{3,30}$ 

См demo.

enter image description here

+0

, почему вы меняете '[[: blank:]]' как необязательный? –

+0

@AvinashRaj: OP не ясно, что означает «добавление». Вы знаете? Я прочитал его как разрешить 1 пробел, но в исходной попытке регулярного выражения есть пробел, и он не работает ... –

+0

'Мне нужно добавить ровно 1 пробел, за которым следует строка буквенных символов (min 3 max 30) ' –

0

Чтобы быть юникода совместимы:

^\p{Zs}\p{L}{3,30}$ 

\p{Zs} Где обозначает символ пробела
и \p{L} стендами для письма.

+0

Cheers stribizhev. Работала отлично. Я не мог понять, какой аромат регулярного выражения мы используем (помните, что я полный полдень), но вы ударили ноготь прямо по голове. Шляпы от тебя, сэр! – RichardW1

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