数字的Java正则表达式模式
我知道这个问题可能很愚蠢,但我正试图从文本中获得一些信息,在最后三个小时的尝试后,你是我最后的希望
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;
}
# 1 楼答案
也许你可以用空格(
string.split('\\s');
)分割你的字符串,那么你应该有这样一个数组:获取第二个字符串,使用“/”将其拆分,然后获取第二个元素
我希望这对你有帮助
提示:您可以在结果之后使用正则表达式(
([0-9IiGSOól]{8,10}
)进行检查