The job control section of Greg’s Bash Guide describes this as follows:
A job specification or “jobspec” is a way of referring to the processes that make up a job. A jobspec may be:
%nto refer to job numbern.%strto refer to a job which was started by a command beginning withstr. It is an error if there is more than one such job.%?strto refer to a job which was started by a command containingstr. It is an error if there is more than one such job.%%or%+to refer to the current job: the one most recently started in the background, or suspended from the foreground. fg and bg will operate on this job if no jobspec is given.%-for the previous job (the job that was%%before the current one).