Per the python documentation: https://docs.python.org/2/library/re.html
Python is by and large an excellent language with good consistency, but there are still some quirks to the language that should be ironed out. You would think that the re.split() function would just have a potential argument to decide whether the delimiter is returned. It turns out that, for whatever reason, whether it returns the delimiter or not is based on the input. If you surround your regex with parentheses in re.split(), Python will return the delimiter as part of the array.
Here are two ways you might try to accomplish your goal:
re.split("]",string_here)
and
re.split("(])",string_here)
The first way will return the string with your delimiter removed. The second way will return the string with your delimiter still there, as a separate entry.
For example, running the first example on the string "This is ] a string" would produce:
["This is a ", " string."]
And running the second example would produce:
["This is a ", "]", " string."]
Personally, I'm not sure why they made this strange design choice.