This regex ensures that the slug contains only lowercase letters, digits, and hyphens, and does not start or end with a hyphen, nor have consecutive hyphens.
^[a-z0-9]+(?:-[a-z0-9]+)*$^: Start of the string.[a-z0-9]+: One or more lowercase letters or digits.(?:-[a-z0-9]+)*: Zero or more groups of a hyphen followed by one or more lowercase letters or digits.$: End of the string.