以下正则表达式接受带括号的字符串-
"^.*[\\(\\)].*$";
^匹配句子的开头。
。*匹配零个或多个(任何)字符。
[\\(\\)]匹配的括号。
$表示句子的结尾。
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class SampleTest { public static void main( String args[] ) { String regex = "^.*[\\(\\)].*$"; //从用户读取输入 Scanner sc = new Scanner(System.in); System.out.println("Enter data: "); String input = sc.nextLine(); //实例化Pattern类 Pattern pattern = Pattern.compile(regex); //实例化Matcher类 Matcher matcher = pattern.matcher(input); //验证是否发生匹配 if(matcher.find()) { System.out.println("Input accepted"); }else { System.out.println("Not accepted"); } } }
Enter data: sample(text) with parenthesis Input accepted
Enter data: sample text Not accepted
import java.util.Scanner; public class Example { public static void main(String args[]) { //从用户读取字符串 System.out.println("Enter email address: "); Scanner sc = new Scanner(System.in); String e_mail = sc.nextLine(); //正则表达式 String regex = "^.*[\\(\\)].*$"; boolean result = e_mail.matches(regex); if(result) { System.out.println("Valid match"); } else { System.out.println("Invalid match"); } } }
Enter email address: sample(text) with parenthesis Valid match
Enter email address: sample text Invalid match