java正则表达式将括号里的内容提取出来如下面这句:如何将括号里的内容(/patroninfo~S0*chx/1069163/modpinfo)提取出来呢,不要里面的单引号.

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/03 03:07:32
java正则表达式将括号里的内容提取出来如下面这句:如何将括号里的内容(/patroninfo~S0*chx/1069163/modpinfo)提取出来呢,不要里面的单引号.

java正则表达式将括号里的内容提取出来如下面这句:如何将括号里的内容(/patroninfo~S0*chx/1069163/modpinfo)提取出来呢,不要里面的单引号.
java正则表达式将括号里的内容提取出来
如下面这句:
如何将括号里的内容(/patroninfo~S0*chx/1069163/modpinfo)提取出来呢,不要里面的单引号.

java正则表达式将括号里的内容提取出来如下面这句:如何将括号里的内容(/patroninfo~S0*chx/1069163/modpinfo)提取出来呢,不要里面的单引号.
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("(?