以下正则表达式接受带括号的字符串-"^.*[\\(\\)].*$";^匹配句子的开头。
。*匹配零个或多个(任何)字符。
[\\(\\)]匹配的括号。
$表示句子的结尾。
例子1import 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");
}
}
}
输出1Enter data:
sample(text) with parenthesis
Input accepted
输出2Enter data:
sample text
Not accepted
例子2import 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");
}
}
}
输出1Enter email address:
sample(text) with parenthesis
Valid match
输出2Enter email address:
sample text
Invalid match