用Java正则表达式来截取字符串很方便
public class RegexMacthTest {
public static void main(String[] args) {
String rgex = "(\\[).*?(\\])";
String rgex2 = "(?<=\\[).*?(?=\\])";
String str ="123[dsj1]123[v3?a??]12323[?k323]1232323";
//?<=不包含左边值 ?=不包含右边值 这需要运用零宽断言
new RegexMacthTest().macthTest(rgex2, str);
}
public void macthTest(String rex,String str){
Pattern p = Pattern.compile(rex); //编译对象
Matcher m = p.matcher(str); //进行匹配
while(m.find()) {
System.out.println(m.group()); //默认是group(0)
};
}
}
结果
dsj1
v3?a??
?k323
具体正则语法 https://www.cnblogs.com/lzq198754/p/5780340.html