数字的Java正则表达式模式

数字的Java正则表达式模式,java,regex,match,Java,Regex,Match,我知道这个问题可能很愚蠢,但我正试图从文本中获得一些信息,经过三个小时的努力,你是我最后的希望 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ó

我知道这个问题可能很愚蠢,但我正试图从文本中获得一些信息,经过三个小时的努力,你是我最后的希望

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";
什么都不管用。。。你知道问题出在哪里吗

编辑:

我使用regex的方式如下:

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;
}   
私有列表getGeneralDicFromLine(字符串行){
List allMatches=new ArrayList();
Pattern=Pattern.compile(generalDicFormatPattern);
Matcher Matcher=pattern.Matcher(混凝土线);
while(matcher.find()){
添加(matcher.group(1));
}                           
返回所有匹配项;
}   

如果字符串的模式已修复,则可以使用正则表达式

C/([^\s]{8,10})\sIC:
示例代码:

String s = "DIC: C/40764176 IC: 407641'6";

Pattern p = Pattern.compile("C/([^\\s]{8,10})\\sIC:");
Matcher m = p.matcher(s);

if (m.find()) {
    System.out.println(m.group(1)); // 40764176
}

我希望任何字符(包括示例中显示的特殊字符)都有空格。

可能是您可以使用空格(
string.split('\\s');
)拆分字符串,然后您应该有如下数组:

  • DIC:
  • C/40764176
  • 集成电路:407641'6
  • 什莱达努
  • 获取第二个字符串,使用“/”将其拆分,然后获取第二个元素

    我希望这对你有帮助


    提示:您可以使用正则表达式(
    ([0-9IiGSOól]{8,10}
    )在结果之后进行检查

    您能告诉我们如何使用正则表达式吗?是的,当然……我已经编辑了我的帖子。您的第一个和最后一个正则表达式对我来说很好,或者可能输出不正确?它是正确的输出,我会尝试一下……不,我需要获得长度为8-10的字符串,其中主要包含数字,但有时可能会有一些特殊字符,如I、G、S、O、ó、l……因此对于e来说例如,我想为字符串
    DIC:C/123i56ó89 IC:407641'6
    程序输出
    123i56ó89
    获取123i56ó89。因此,本文将对其进行介绍。