Регулярные выражения в PHP

Здравствуйте.
Помогите разобраться с регулярными выражениями к примеру есть три разных строки

1.  text text text
2. a[text] text text text  
3. a[text] text text text a[text]
4. a[text] a[text] a[text] text text text
5. a[text] a[text] a[text] text text text a[text] a[text] a[text]

В первой строке мы не чего не делаем выводим как есть.
Во второй и третей строке мы начале находим a[text] и меняем на a третей строке a[text] в конце строки убираем a[] и просто оставляем text
В четвертой и пятой строке аналогично как во второй и третей строке за исключением все три вначале a[text] и меняем на a и все три в конце оставляем только text

Возможно ли это как то сделать?

PS Если возможно то как это сделать универсально что бы было для всех строк.

Накидал вот такое выражение и то я так понимаю оно не полное

^(a\[\w+\]\s)+

эту строку проверял

a[text1] a[text2] a[text3] text text text a[text4] a[text5] a[text6]

И такой результат получил

Результат проверки

Строка поиска: /^(a\[\w+\]\s)+/iD, сортировка: 2

совпадений: 1

[key = 0], array (2):
[key = 0] => a[text1] a[text2] a[text3]
[key = 1] => a[text3]