ArgumentsOptions
ArgumentsOptions[f[args],n] tries to separate args into a list of n positional arguments followed by a list of valid options for f.
ArgumentsOptions[f[args],{min,max}] requires the number of positional arguments to be between min and max.
ArgumentsOptions[f[args],spec,assoc] modifies the behavior based on the information in the association assoc.
Please visit the official Wolfram Language Reference for more details and examples on core symbols.