【发布时间】:2013-08-25 19:22:13
【问题描述】:
我知道这个问题可能很愚蠢,但我正试图从文本中获取一些信息,在过去三个小时的尝试之后,你是我最后的希望..
DIC: C/40764176 IC: 407641'6
Dekujerne a t8ime se na shledanou
我需要例如这个 40764176
我需要获取长度为 8-10 的字符串,有时可能会有一些特殊的字符,例如 I,i,G,S,O,ó,l) 但我为此尝试了很多模式,但没有一个有效...
我试过了:
String generalDicFormatPattern = "([0-9IiGSOól]{8,10})";
String generalDicFormatPattern = ".*([0-9IiGSOól]{8,10}).*";
String generalDicFormatPattern = "\\b([0-9IiGSOól]{8,10})\\b";
没有任何效果...你知道问题出在哪里吗?
编辑:
我以这种方式使用正则表达式:
private List<String> getGeneralDicFromLine(String concreteLine) {
List<String> allMatches = new ArrayList<String>();
Pattern pattern = Pattern.compile(generalDicFormatPattern);
Matcher matcher = pattern.matcher(concreteLine);
while (matcher.find()) {
allMatches.add(matcher.group(1));
}
return allMatches;
}
【问题讨论】:
-
你能告诉我们你是如何使用你的正则表达式的吗?
-
是的,当然...我已经编辑了我的帖子。
-
你的第一个和最后一个正则表达式对我来说很好ideone.com/yOLK3O 或者它可能是不正确的输出?
-
输出是对的,我试试……