How to check if a string contains only letters, numbers, underscores and dashes in Java

1 Answer

0 votes
import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class RegexValidation {
    public static boolean isValidString(String s) {
        String regex = "^[A-Za-z0-9_-]*$";
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(s);
        return matcher.matches();
    }

    public static void main(String[] args) {
        String s1 = "-abc_123-";
        if (isValidString(s1)) {
            System.out.println("yes");
        } else {
            System.out.println("no");
        }

        String s2 = "-abc_123-(!)";
        if (isValidString(s2)) {
            System.out.println("yes");
        } else {
            System.out.println("no");
        }
    }
}


 
/*
run:
 
yes
no
 
*/

 



answered May 31, 2025 by avibootz
...