如何找到"B"+最多6个标志

bez*_*bez 0 java regex

我需要验证,如果模式有字母"B",后面有六个符号(字母和数字).例如:我们有abcdB1234B123456.找到的答案应该是:B1234B123456.

我做了这个模式:

[^B]{1,6}
Run Code Online (Sandbox Code Playgroud)

但它不精确..

Bor*_*der 5

这种模式怎么样:

public static void main(String[] args) {
    final Pattern pattern = Pattern.compile("B[aAc-zC-Z0-9]{0,6}");
    final String string = " abcdB1234B123456";
    final Matcher matcher = pattern.matcher(string);
    while (matcher.find()) {
        System.out.println(matcher.group());
    }
}
Run Code Online (Sandbox Code Playgroud)

输出:

B1234
B123456
Run Code Online (Sandbox Code Playgroud)