\ d {2} - \ d {7}
это jflex
регулярное выражение работает отлично. если i/p ="ab22-12345678cd"
, то соответствует 22-1234567
.
\ d {2} - \ d {7} [^ 0-9]
это jflex
регулярное выражение также отлично работает. если i/p ="ab22-12345678cd"
это несоответствие. Bcoz восьмой цифры после "-".
[^ 0-9] \ d {2} - \ d {7} [^ 0-9]
это jflex
регулярное выражение не работает. если i/p ="ab22-1234567cd"
. Это должно соответствовать "b22-1234567c"
, но оно рассматривается как несоответствие.
Так что [^0-9]
в начале регулярного выражения, кажется, не работает для меня. Любые альтернативы для моего требования?