java正则表达式将括号里的内容提取出来如下面这句:如何将括号里的内容(/patroninfo~S0*chx/1069163/modpinfo)提取出来呢,不要里面的单引号.
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/04 06:49:20
![java正则表达式将括号里的内容提取出来如下面这句:如何将括号里的内容(/patroninfo~S0*chx/1069163/modpinfo)提取出来呢,不要里面的单引号.](/uploads/image/z/9169149-21-9.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%E5%A6%82%E4%B8%8B%E9%9D%A2%E8%BF%99%E5%8F%A5%EF%BC%9A%E5%A6%82%E4%BD%95%E5%B0%86%E6%8B%AC%E5%8F%B7%E9%87%8C%E7%9A%84%E5%86%85%E5%AE%B9%EF%BC%88%2Fpatroninfo%7ES0%2Achx%2F1069163%2Fmodpinfo%EF%BC%89%E6%8F%90%E5%8F%96%E5%87%BA%E6%9D%A5%E5%91%A2%2C%E4%B8%8D%E8%A6%81%E9%87%8C%E9%9D%A2%E7%9A%84%E5%8D%95%E5%BC%95%E5%8F%B7.)
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("(?