Using regular expressions beyond matching in Cypher

前端 未结 2 1611
长情又很酷
长情又很酷 2021-01-25 18:09

I make the following query

neo4j-sh (?)$ start n=node(*) where n.name  =~ \'u(.*)\' return n; 
==> +-----------------------+
==> | n                     |
         


        
相关标签:
2条回答
  • 2021-01-25 18:40

    You can't do that in Cypher (as far as I know)--regex is just for matching.

    If it's always just a single letter in front of it, you can take the substring:

    start n=node(*) 
    set n.userId = substring(n.name, 1)
    
    0 讨论(0)
  • 2021-01-25 18:52

    I had the same issue, so I developed a tiny Neo4j server plugin that lets you run regular expressions over REST API and against string node properties for matching/splitting/substituting purposes. It can return the results inside Neo4j console or save them to a property.

    Have a look at it, maybe you find it useful: https://github.com/mszargar/Regx4Neo

    It takes just a minute to install, but you will have to restart Neo4j for it to take effect.

    0 讨论(0)
提交回复
热议问题