e437. getting the indices of a matching group in a regular expression.txt

来自「这里面包含了一百多个JAVA源文件」· 文本 代码 · 共 25 行

TXT
25
字号
For more information about groups, see e436 Capturing Text in a Group in a Regular Expression. 
    CharSequence inputStr = "abbabcd";
    String patternStr = "(a(b*))+(c*)";
    
    // Compile and use regular expression
    Pattern pattern = Pattern.compile(patternStr);
    Matcher matcher = pattern.matcher(inputStr);
    boolean matchFound = matcher.find();
    
    if (matchFound) {
        // Get all groups for this match
        for (int i=0; i<=matcher.groupCount(); i++) {
            // Get the group's captured text
            String groupStr = matcher.group(i);
    
            // Get the group's indices
            int groupStart = matcher.start(i);
            int groupEnd = matcher.end(i);
    
            // groupStr is equivalent to
            inputStr.subSequence(groupStart, groupEnd);
        }
    }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?