1、新建java类;
2、编写java代码,匹配开头为'{'结尾为'},'的表达式;
//匹配以{开头,中间任意字符 ,以}结尾的字符串
String regex_1 = "^\\{+.*\\}$";
Pattern p1 = Pattern.compile(regex_1);
3、编写测试字符串1'{abc}' 及2'{abc' ;
//测试1
String str1 = "{abc}";
java.util.regex.Matcher m1 = p1.matcher(str1);
System.out.print("测试1:");
while (m1.find()) {
System.out.println(m1);
}
//测试2
String str2 = "{abc";
java.util.regex.Matcher m2 = p1.matcher(str2);
System.out.print("测试2:");
while (m2.find()) {
System.out.println(m2);
}
4、查看输出内容,可以看到字符串1'{abc}' 满足要求,而字符串2'{abc' 不满足要求;
ps.此回答不是乱答,不要说我违规
如果想获取的数据不包括这个括号呢?
^\{(.*)\}$,获取它的值的时候取group1,因为不同语言不同,所以没法给代码。也用正则表述就是$1
如果支持反向引用,可用(?<=\{).*(?=\})