Вам просто нужно добавить ?
после символа sla sh, чтобы указать, что это необязательно.
import re
PATTERN = re.compile(r'\(USED ON +P\/?N {0,1}([^\)]+)')
tests = ['(USED ON P/N D511835AAB503)', '(USED ON PN D511835AAB503)']
for test in tests:
match = PATTERN.search(test)
if match:
print('"{}" matched {}'.format(test, match.group(1)))
else:
print('No match in "{}"'.format(test))
, который выводит
"(USED ON P/N D511835AAB503)" matched D511835AAB503
"(USED ON PN D511835AAB503)" matched D511835AAB503