正则表达式有哪些优缺点?