no puedes esperar un sub-Array en el arreglo de coincidencias, eso está mal desde el punto de vista conceptual... no es posible, olvida ese asunto...
con respecto a evitar los corchetes, es mas posible... sin embargo, debes entender que al usar paréntesis de captura: se captura -
valga la redundancia- todo lo que este dentro de dichos paréntesis, y pues... tu expresión tiene los corchetes, si los quieres evitar simplemente usa otra técnica... ;)
por ejemplo, para usar un grupo que no se capture usa
(?:), y ya dentro colocas tus sub-expresiones....
así mismo, ya dentro puedes usar los paréntesis para seleccionar solo algunos fragmentos y no todo:
esto es lo que mas se le acerca a omitir caracteres dentro de capturas, sin embargo puedes usar trim, substr, str_replace, etc... para quitar dichos caracteres en tus demás ejecuciones... osea, primero obtienes el texto, luego lo normalizas... no esperes hacer todo-en-uno con regex!!
sería bueno que sepas desde ahora que
regex sirve pasos regulares, específicos... no vas a conseguir hacer todo con una sola expresión...