Подтвердить что ты не робот

Какое регулярное выражение можно использовать для сопоставления только букв, цифр и одного пробела между каждым словом?

Как создать выражение регулярного выражения, которое будет соответствовать только буквам и цифрам, и одно пространство между каждым словом?

Хорошие примеры:

Amazing

Hello World

I am 500 years old

Плохие примеры:

Hello  world

I am 500 years      old.

I    am   Chuck Norris
4b9b3361

Ответ 1

Большинство реализаций регулярных выражений поддерживают именованные классы символов:

^[[:alnum:]]+( [[:alnum:]]+)*$

Вы можете быть умнее, хотя немного менее ясным и упростить это:

^([[:alnum:]]+ ?)*$

FYI, второй - символ ложного пробела в конце строки. Если вы не хотите, чтобы палка с первым регулярным выражением.

Также, как говорили другие плакаты, если [[:alnum:]] не работает для вас, вы можете использовать [A-Za-z0-9] вместо этого.

Ответ 2

([a-zA-Z0-9]+ ?)+?

Ответ 3

^([a-zA-Z0-9]+\s?)*$

его работы

Ответ 4

^[a-zA-Z]+([\s][a-zA-Z]+)*$

Ответ 6

Это будет соответствовать слову

'[a-zA-Z0-9]+\ ?'