使用动态日期获取URL中的文本-Regex Java
我需要获取URL之间的文本,该URL在Java中有日期 投入1: 输出:testcustomer 只有/原始/剩余,日期将更改,testcustomer将更改 投入2: 输出:新客户 它返回“default”:您的正则表达式/raw/\\d{4}-\\d{2}-\\d{2}/usr*缺少所需值的部分,您需要一个正则表达式来查找日期,并保留下一步内容: /\w*/raw/[0-9-]+/\w++/.*或?您的正则表达式/raw/\\d{4}-\\d{2}-\\d{2}/usr*缺少所需值的部分,您需要一个正则表达式来查找日期,并保留下一步内容: /\w*/raw/[0-9-]+/\w++/.*或?在这里,我们可能使用raw后跟日期作为左边界,然后我们将在捕获组中收集所需的输出,我们将添加一个斜杠并使用字符串的其余部分,表达式类似于:使用动态日期获取URL中的文本-Regex Java,java,regex,string,Java,Regex,String,我需要获取URL之间的文本,该URL在Java中有日期 投入1: 输出:testcustomer 只有/原始/剩余,日期将更改,testcustomer将更改 投入2: 输出:新客户 它返回“default”:您的正则表达式/raw/\\d{4}-\\d{2}-\\d{2}/usr*缺少所需值的部分,您需要一个正则表达式来查找日期,并保留下一步内容: /\w*/raw/[0-9-]+/\w++/.*或?您的正则表达式/raw/\\d{4}-\\d{2}-\\d{2}/usr*缺少所需值的部分,您
.+raw\/[0-9]{4}-[0-9]{2}-[0-9]{2}\/(.+?)\/.+
测验
正则表达式
如果不需要此表达式或您希望修改它,请访问
正则表达式电路
可视化正则表达式:
在这里,我们可以使用raw后跟日期作为左边界,然后在捕获组中收集所需的输出,添加斜杠并使用字符串的其余部分,表达式类似于:
.+raw\/[0-9]{4}-[0-9]{2}-[0-9]{2}\/(.+?)\/.+
测验
正则表达式
如果不需要此表达式或您希望修改它,请访问
正则表达式电路
可视化正则表达式:
你试过什么吗?是的,让我补充一下it@V下一次,当你第一次写代码的时候,考虑添加代码时,由于没有投票权,它会很快得到否决票;你试过什么吗?是的,让我补充一下it@V下一次,当你第一次写代码的时候,考虑添加代码时,由于没有投票权,它会很快得到否决票;
String url = "/test3/raw/2018-09-01/newcustomer/usr/pqr/DATA/mn/export/";
String customer = getCustomer(url);
public String getCustomer (String _url){
String source = "default";
String regex = basePath + "/raw/\\d{4}-\\d{2}-\\d{2}/usr*";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(_url);
if (m.find()) {
source = m.group(1);
} else {
logger.error("Cant get customer with regex " + regex);
}
return source;
}
Pattern p = Pattern.compile("/\\w*/raw/[0-9-]+/(\\w+)/.*");
Matcher m = p.matcher(str);
if (m.find()) {
String value = m.group(1);
System.out.println(value);
}
String value = str.split("/")[4];
System.out.println(value);
.+raw\/[0-9]{4}-[0-9]{2}-[0-9]{2}\/(.+?)\/.+
import java.util.regex.Matcher;
import java.util.regex.Pattern;
final String regex = ".+raw\\/[0-9]{4}-[0-9]{2}-[0-9]{2}\\/(.+?)\\/.+";
final String string = "/test1/raw/2019-06-11/testcustomer/usr/pqr/DATA/mn/export/\n"
+ "/test3/raw/2018-09-01/newcustomer/usr/pqr/DATA/mn/export/";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
final Matcher matcher = pattern.matcher(string);
while (matcher.find()) {
System.out.println("Full match: " + matcher.group(0));
for (int i = 1; i <= matcher.groupCount(); i++) {
System.out.println("Group " + i + ": " + matcher.group(i));
}
}