Просто проверьте либо начало (эрго нет X), либо наличие символа, отличного от X.
(^|[^X])A
Для более чем одного символа вы можете проверить A
, а затемпроверьте сопоставленный текст для X, за которым следует A, и отмените совпадение, если оно соответствует второму шаблону.