apoc.text.regexGroupsByName
Syntax |
|
||
Description |
Returns all groups with their group name matching the regular expression in the given text. |
||
Arguments |
Name |
Type |
Description |
|
|
The text to extract matches from. |
|
|
|
The regex pattern to match. |
|
Returns |
|
The output value is a LIST<MAP>
which contains a group
field with the value being the complete match, and a matches
field which itself is a MAP
containing each group name mapped to its value.
{ group: <groupMatched>, matches: { <groupName>: <match>, ... } }
Usage Examples
RETURN apoc.text.regexGroupsByName(
'abc <link xxx1>yyy1</link> def <link xxx2>yyy2</link>',
'<link (?<firstPart>\\w+)>(?<secondPart>\\w+)</link>'
) AS output;
output |
---|
[{ "group": "<link xxx1>yyy1</link>", "matches" : {"firstPart": "xxx1", "secondPart": "yyy1"}}, {"group": <link xxx2>yyy2</link>", "matches" : { "firstPart": "xxx2", "secondPart": "yyy2"}}] |
RETURN apoc.text.regexGroups(
'Michael: 1234\nJennifer: 5678',
'(?<name>\\w+): (?<id>\\d+)'
) AS output;
output |
---|
[ { "group": "Michael: 1234", "matches": { "name": "Michael", "id": "1234" }, { "group": "Jennifer: 5678", "matches": { "name": "Jennifer", "id": "5678" } } ] |