На самом деле пытался просмотреть и выполнить поиск, если этот конкретный c вопрос был опубликован ранее, поэтому я надеюсь, что я не задаю здесь очевидного. несколько различных возможных критериев сопоставления с образцом, разделенных вертикальной чертой. Я в порядке со всеми, кроме одного, где я в основном хочу:
- Найти любое выражение, которое будет числом от 4 до 6 цифр (независимо от позиции в строке)
- Исключить из этого шаблона выражения, которые будут относиться к годам в этом веке (поэтому, начиная с 20 и за которыми следуют две цифры)
Так, например, я хотел бы сопоставить: 4149, 20259, 202046 , но хотел бы исключить 2019 год, поскольку он будет относиться к году, а не к коду, который я ищу.
В настоящее время я пробовал применить этот (только последнюю часть выражения): | \ d {4,6} ?! 20 \ d {2}) , но он работает неправильно. Я знаю, что выражения перед вертикальной чертой в порядке, и я заметил, что \ d {4,6} перестает работать, как только я добавляю "исключение" в этом случае, поэтому я предполагаю, что не использую?! должным образом. Могу я попросить совета по этому поводу?
Редактировать: Решено! Большое спасибо за немедленные ответы (я был действительно приятно удивлен, насколько быстро было несколько альтернативных решений). Извините, мне пришлось выбрать только один, все остальные можно было бы настраивать и использовать в соответствии с моими потребностями, я просто нашел этот наиболее привлекательным и адаптированным для моих нужд.