How can I create a regex expression that will match only letters and numbers, and one space between each word?
Good Examples:
^([a-zA-Z0-9]+\s?)*$
its works
(?:[a-zA-Z0-9]+[ ])+[a-zA-Z0-9]+
If I understand you correctly the above regex should work. See screenshot below:
screenshot http://img136.imageshack.us/img136/6871/screenshotkiki056.png
([a-zA-Z0-9]+ ?)+?
Most regex implementations support named character classes:
^[[:alnum:]]+( [[:alnum:]]+)*$
You could be clever though a little less clear and simplify this to:
^([[:alnum:]]+ ?)*$
FYI, the second one allows a spurious space character at the end of the string. If you don't want that stick with the first regex.
Also as other posters said, if [[:alnum:]]
doesn't work for you then you can use [A-Za-z0-9]
instead.
This would match a word
'[a-zA-Z0-9]+\ ?'
^[a-zA-Z]+([\s][a-zA-Z]+)*$