How to write a regular expression with the following criteria?
without
- Numbers
- Special Characters
- Space
How to write a regular expression with the following criteria?
without
In Perl, it would be something like:
$string !~ /[\d \W]/
Of course, it depends on your definition of "special characters". \W
matches all non-word characters. A word character is any alphanumeric character plus the space character.
The most important thing to learn about regular expressions is not their syntax, but the ability to clearly explain what you are looking for. That's really 90% of the problem.
Also, it's usually better to state what you want rather than what you don't want.
The caret inside of a character class [^ ] is the negation operator common to most regular expression implementations (Perl, .NET, Ruby, Javascript, etc). So I'd do it like this:
[^\W\s\d]
Or you can take another approach by simply including only what you want:
[A-Za-z]
The main difference here is that the first one will include underscores. That, and it demonstrates a way of writing the expression in the same terms that you're thinking. But if you reverse you're thinking to include characters instead of excluding them, then that can sometimes result in an easier to read regular expression.
It's not completely clear to me which special characters you don't want. But I wrote out both solutions just in case one works better for you than the other.