Java正则表达式获取双引号内的数字Java 正则表达式获取双引号内的数字
获取双引号内的数字要求:
获取字符串双引号中的数字
String str2 = "curStaff[].staffId(\"12\").staffName";
获取数字 12
在中使⽤了替换的⽅式进⾏处理,这边使⽤另外⼀种⽅式,直接匹配的⽅式进⾏获取
代码:
public static void main(String[] args) {
String str2 = "curStaff[33].staffId(\"12\").staffName";
正则表达式获取括号内容getIncludeNums1(str2);
getIncludeNums2(str2);
}
// 表达式 .* 就是单个字符匹配任意次,即贪婪匹配。
// 表达式 .*? 是满⾜条件的情况只匹配⼀次,即最⼩匹配
private static String getIncludeNums1(String str){
String regExp= "(\").*?(\")";
Pattern pattern = Patternpile(regExp);
Matcher matcher = pattern.matcher(str);
if(matcher.find()) {
String group = up();
String result = StringUtils.substring(group, 1, group.length()-1);
System.out.println(str +" getIncludeNums1 " + result);
return result;
}
return "";
}
private static String getIncludeNums2(String str){
String regExp= "(\\[).*?(\\])";
Pattern pattern = Patternpile(regExp);
Matcher matcher = pattern.matcher(str);
if(matcher.find()) {
String group = up();
String result = StringUtils.substring(group, 1, group.length()-1);
System.out.println(str +" getIncludeNums2 " + result);
return result;
}
return "";
}
结果:
curStaff[33].staffId("12").staffName getIncludeNums1 12
curStaff[33].staffId("12").staffName getIncludeNums2 33
总结:
这个例⼦主要是正则表达式语法如何写。regExp= "(\").*?(\")" 双引号需要各⾃⽤括号,同理要替换其它字符就可以获取到其它相应的内容了。有个⿇烦的因为是在字符⾥⾯是匹配的时候会把对应的符号也匹配到,要再进⾏⼀个处理,把前后的内容进⾏处理
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论