Given the text of a code file using snake_case variable names, convert all variable names to camelCase and return the new string, preserving any leading or trailing underscores (example given: "variable_one _variable_two variable_three" -> "variableOne _variableTwo variableThree").
For grading, treat every identifier token containing one or more internal underscores as a variable name. Preserve all non-identifier characters, including whitespace and punctuation.
Implement convert_variables(text), which accepts a string and returns the converted string. Identifier tokens contain letters, digits, and underscores, and begin with a letter or underscore.
def convert_variables(text):