Я хочу регулярное выражение, соответствующее двузначному диапазону года и слову Caterpillar
или Ford
, например:
ABC123 08-10 Caterpillar
Но не так:
ABC123 fits 08-10 Caterpillar
или это:
ABC123 for 08-10 Caterpillar XYZ789
ABC123
и XYZ789
могут варьироваться и содержать что угодно.
Я пытаюсь заменить слово Caterpillar
на fits Caterpillar
, используя gsub
, но я не хочу делать это на строках, которые уже содержат fits
или for
.Захваты важны, чтобы я мог понять, как сделать gsub
.
. Я написал это:
/([^fits]\s?\d{2}-\d{2}\s*(Ford|Caterpillar))/
Но приведенное выше регулярное выражение соответствует всем трем моим примерным строкам.Так что мое слово отрицание не правильно.И диапазон года должен быть необязательным.Я хочу поместить это в квадратные скобки, но я не думаю, что я делаю это правильно, я думаю, что это обозначает диапазон.