我有一个像这样的字符串:
String source = "https://1116.netrk.net/conv1?prid=478&orderid=[6aa3482b-519b-4127-abee-debcd6e39e96]"
我想提取[ ]内的orderid。我写了这个方法:
public String extractOrderId(String source)
{
Pattern p = Pattern.compile("[(.*?)]");
Matcher m = p.matcher(source);
if (m.find())
return m.group(1);
else
return "";
}
但我总是遇到异常
java.lang.IndexOutOfBoundsException: No group 1
知道出了什么问题吗?谢谢
最佳答案
您需要转义括号:
Pattern p = Pattern.compile("\\[(.*?)\\]");
关于java - 使用正则表达式提取子字符串不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30933638/