Q:

Deny string with special characters only

I have a regex that is working fine:   
^(?!\\d+$)\\S{8,}$

(?!d+$) // Deny numbers only
\S{8,} // Allow special characters but white spaces and a minimum of 8 characters;  

But I need to add one more thing: Deny if the string is special characters only.  
tried to apply the same logic as the "only numbers deny", an add 
(?!\\S+$))

to the existing regex, but didn't work as expected.  
obs: I will work with different languages, so the "special characters" would be:  
! @ # $ % & * ( ) _ - = < > , . ? } ] { [ +

A:

Deny if the string is special characters only.

For this add another negative lookahead assertion:
^(?!\\d+$)(?![-!@#$%&*()_=<>,.;]+$)\\S{8,}$

(?![-!@#$%&*()_=<>,.;]+$) is negative lookahead to fail the match if input contains only those listed characters.

