Bueno, para agregar a la respuesta de hackjose, y que además no alcance a editar mi 1er post
.
El símbolo
^ dentro de corchetes sirve como negación. Por lo que tu expresión habría validado cadenas que NO contuvieran letras y dígitos. Si aquel símbolo lo dejas fuera de los corchetes, sirve para buscar cadenas que comiencen con ese rango de caracteres.