java正则表达式将括号里的内容提取出来
来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/06/25 09:58:04
java正则表达式将括号里的内容提取出来
如下面这句:
如何将括号里的内容(/patroninfo~S0*chx/1069163/modpinfo)提取出来呢,不要里面的单引号.
如下面这句:
如何将括号里的内容(/patroninfo~S0*chx/1069163/modpinfo)提取出来呢,不要里面的单引号.
![java正则表达式将括号里的内容提取出来](/uploads/image/z/7688188-28-8.jpg?t=java%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E5%B0%86%E6%8B%AC%E5%8F%B7%E9%87%8C%E7%9A%84%E5%86%85%E5%AE%B9%E6%8F%90%E5%8F%96%E5%87%BA%E6%9D%A5)
1.就用LS的例子来改进吧,LS的例子用正则匹配的捕获型,也就是说除了捕获了/patroninfo~S0*chx/1069163/modpinfo,还捕获了带单引号的 '/patroninfo~S0*chx/1069163/modpinfo‘ (输出 System.out.println(mat.group(0) 就是);
这样无论在效率还是安全性上都有欠缺.
2 Pattern.compile("\\'(.)\\'")也可以改为Pattern pat = Pattern.compile("\'(.)\'"),减少代码冗余和理解复杂度.
捕获用法:
public class Test {
\x05public static void main(String[] args) {
\x05\x05String str = "";
\x05\x05Pattern pat = Pattern.compile("\'(.)\'");
\x05\x05Matcher mat = pat.matcher(str);
\x05\x05if (mat.find()) {
\x05\x05\x05System.out.println(mat.group(1));
\x05\x05}
\x05}
}
非捕获方法:
public class Test {
\x05public static void main(String[] args) {
\x05\x05String str = "";
\x05\x05Pattern pat = Pattern.compile("(?
这样无论在效率还是安全性上都有欠缺.
2 Pattern.compile("\\'(.)\\'")也可以改为Pattern pat = Pattern.compile("\'(.)\'"),减少代码冗余和理解复杂度.
捕获用法:
public class Test {
\x05public static void main(String[] args) {
\x05\x05String str = "";
\x05\x05Pattern pat = Pattern.compile("\'(.)\'");
\x05\x05Matcher mat = pat.matcher(str);
\x05\x05if (mat.find()) {
\x05\x05\x05System.out.println(mat.group(1));
\x05\x05}
\x05}
}
非捕获方法:
public class Test {
\x05public static void main(String[] args) {
\x05\x05String str = "";
\x05\x05Pattern pat = Pattern.compile("(?