С учетом следующего текста:
somerandomtext06251/750/somerandomtext/21399/10 79/20 8301
Как мне извлечь 06251/750, 79/20, 8301 и игнорировать 21399/10?
Общие правила:
- в случайной строке соответствует каждой группе не менее 2 цифр, за которой следует необязательный /, а затем еще одна не менее 2 цифр; будьте жадны до цифр (возьмите как можно больше)
- игнорируйте полное совпадение, если ему непосредственно предшествует /
Я начал со следующего шаблона совпадения:
(?<invnr>\d{2,}/?\d{2,})
В целом, это работает, но у него есть только одна проблема: это также 21399/10. Итак, я добавил отрицательный вид сзади:
(?<!/)(?<invnr>\d{2,}/?\d{2,})
Теперь он игнорирует первый ди git из 21399/10 (потому что ему предшествует /), но все же он захватывает все следующие символы, то есть 1399/10. Но мне нужно полностью пропустить 21399/10.
Как сделать так, чтобы закадровый взгляд отбрасывал весь матч и переходил к следующему, а не пропускал только один ди git?