title: What is the difference between shlex.split() and re.split()?
body: <p>So I used <code>shlex.split()</code> recently to split a command as argument to <code>subprocess.Popen()</code> function. I recalled that long back I also used <code>re.split()</code> function to split a string with a specific delimiter specified. Can someone point out what is the essential difference in between them? In which scenario is each function best suited?</p>