Вот мой код:
String stringToSearch = "https://example.com/excludethis123456/moretext";
Pattern p = Pattern.compile("(?<=.com\\/excludethis).*\\/"); //search for this pattern
Matcher m = p.matcher(stringToSearch); //match pattern in StringToSearch
String store= "";
// print match and store match in String Store
if (m.find())
{
String theGroup = m.group(0);
System.out.format("'%s'\n", theGroup);
store = theGroup;
}
//repeat the process
Pattern p1 = Pattern.compile("(.*)[^\\/]");
Matcher m1 = p1.matcher(store);
if (m1.find())
{
String theGroup = m1.group(0);
System.out.format("'%s'\n", theGroup);
}
Я хочу сопоставить все, что идет после excludethis
и до /
, которое идет после.
С "(?<=.com\\/excludethis).*\\/"
регулярным выражением я сопоставлю 123456/
и сохраню это в String store
.После этого с "(.*)[^\\/]"
я исключу /
и получу 123456
.
Могу ли я сделать это в одной строке, то есть объединить эти два регулярных выражения?Я не могу понять, как их объединить.