Usando expressões regulares além da correspondência no Cypher

Eu faço a seguinte consulta

neo4j-sh (?)$ start n=node(*) where n.name  =~ 'u(.*)' return n; 
==> +-----------------------+
==> | n                     |
==> +-----------------------+
==> | Node[311]{name:"u1"}  |
==> | Node[312]{name:"u2"}  |
==> | Node[313]{name:"u3"}  |
==> | Node[314]{name:"u4"}  | 

Eu quero adicionar uma propriedade "userId" e definir o número na chave do nome. Eu quero dizer

==> +-----------------------+
==> | n                     |
==> +-----------------------+
==> | Node[311]{name:"u1", userId:'1'}  |
==> | Node[312]{name:"u2", userId:'2'}  |
==> | Node[313]{name:"u3"},userId:'3'  |
==> | Node[314]{name:"u4"}, userId:'4' | 

Agora eu preciso retirar os números de n.name. Como posso fazer isso? Como posso obter o valor do (. *) No regex?

questionAnswers(2)

yourAnswerToTheQuestion