作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下字符串volltext
:
Los 3, PG 3, Lead-Analytiker Anforderungsanalyse / Konzept Servicezeit 1 1 532 7/1/17 10/31/17
我正在尝试获取 10/31/17
行中的最后一个字符串。
使用我当前的代码,我得到7/1/17
。保持对我来说很重要KEYWORD
、MULTIMATCHPATTERN
、INFORMATIONSEXTRAKTOR
、ZEILENFUELLER
结构。我应该如何更改 INFORMATIONSEXTRAKTOR
正则表达式来获取 10/31/17
字符串?
这是我的代码:
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.commons.lang3.StringUtils;
public class ZuParser implements BedarfsanforderungParser {
private static final String KEYWORD = "Los.*PG.*Servicezeit";
private static final String MULTIMATCHPATTERN = "[\\t\\s]*\\d*[\\t\\s]*\\d*[\\t\\s]*\\d*[\\t\\s]*";
private static final String INFORMATIONSEXTRAKTOR = "(\\d*[\\/]*\\d*[\\/]*\\d{1,2})";
private static final String ZEILENFUELLER = "[\\t\\s]*.*";
private static final Pattern ZUPATTERN = Pattern.compile("^" + KEYWORD + MULTIMATCHPATTERN + INFORMATIONSEXTRAKTOR + ZEILENFUELLER + "$", Pattern.MULTILINE);
@Override
public void parse(String volltext, Abruf abruf) {
// volltext output --> "Los 3, PG 3, Lead-Analytiker Anforderungsanalyse / Konzept Servicezeit 1 1 532 7/1/17 10/31/17"
fillZu(volltext, abruf);
}
private void fillZu(String volltext, Abruf abruf) {
String zuDatumstring = getZuDatumString(volltext);
}
private String getZuDatumString(String volltext) {
Matcher matcher = ZUPATTERN.matcher(volltext);
if (matcher.find()) {
String matchString = matcher.group(1);
return matchString;
} else {
return "";
}
}
}
最佳答案
您需要添加表达式[\d\/]+\s+
以跳过匹配组之前的第一个日期:
private static final String INFORMATIONSEXTRAKTOR = "[\d\/]+\s+(\\d*[\\/]*\\d*[\\/]*\\d{1,2})";
关于java - 通过正则表达式从字符串中获取带有斜杠的正确日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49884286/
我是一名优秀的程序员,十分优秀!