Snake-cases this String with separations determined using the given pattern.
String snakeCase([Pattern? pattern]) => split(pattern ?? _delimiters).join('_');