3

I'm trying to match multiple occurrences of a number between two strings.

"ELE: and ":{"isHidden":true} to get the number between.

I have (?<={"ELE:)(.*)(?=":{"isHidden":true}) but this selects the whole group.

How do I make it to only match the numbers only?

{"version":2,"(sectionConfig)":{"SECT:1236":{"children":{"ELE:1826":{"children":{"ELE:4217":{"(isHidden)":true},"ELE:22043":{"isHidden":true},"ELE:4253":{"isHidden":true},"ELE:1796":{"isHidden":true},"ELE:3907":{"isHidden":true}},"defaultSelectionId":"ELE:1781"},"ELE:1850":{"defaultSelectionId":"ELE:2657"},"ELE:1832":{"children":{"ELE:602":{"isHidden":true},"ELE:3864":{"isHidden":true},"ELE:650":{"isHidden":true}},"defaultSelectionId":"ELE:605"},"ELE:3711":{"isHidden":true}}},"SECT:2789":{"children":{"ELE:3923":{"isHidden":true},"ELE:3932":{"isHidden":true},"ELE:3920":{"isHidden":true},"ELE:3929":{"isHidden":true},"ELE:3938":{"isHidden":true},"ELE:3917":{"isHidden":true},"ELE:3926":{"isHidden":true},"ELE:3935":{"isHidden":true},"ELE:2834":{"isHidden":true},"ELE:2837":{"isHidden":true},"ELE:2960":{"isHidden":true},"ELE:2675":{"isHidden":true},"ELE:2933":{"isHidden":true},"ELE:2690":{"isHidden":true},"ELE:2717":{"isHidden":true},"ELE:3011":{"isHidden":true},"ELE:2681":{"isHidden":true},"ELE:2723":{"isHidden":true},"ELE:2693":{"isHidden":true},"ELE:2795":{"isHidden":true},"ELE:3014":{"isHidden":true},"ELE:2708":{"isHidden":true},"ELE:2975":{"isHidden":true},"ELE:2729":{"isHidden":true},"ELE:2996":{"isHidden":true},"ELE:2987":{"isHidden":true},"ELE:2672":{"isHidden":true},"ELE:2684":{"isHidden":true},"ELE:2669":{"isHidden":true}}},"SECT:2531":{"children":{"ELE:1862":{"children":{"ELE:26661":{"isHidden":true},"ELE:26682":{"isHidden":true},"ELE:26631":{"isHidden":true},"ELE:26601":{"isHidden":true}},"defaultSelectionId":"ELE:647"},"ELE:2690":{"isHidden":true},"ELE:2637":{"isHidden":true},"ELE:2485":{"isHidden":true},"ELE:1832":{"children":{"ELE:650":{"isHidden":true},"ELE:602":{"isHidden":true}},"defaultSelectionId":"ELE:605"},"ELE:2599":{"isHidden":true},"ELE:2521":{"isHidden":true},"ELE:1826":{"children":{"ELE:27478":{"isHidden":true},"ELE:27469":{"isHidden":true},"ELE:27460":{"isHidden":true},"ELE:27445":{"isHidden":true},"ELE:27436":{"isHidden":true},"ELE:27427":{"isHidden":true},"ELE:1796":{"isHidden":true},"ELE:4217":{"isHidden":true},"ELE:22043":{"isHidden":true},"ELE:27115":{"isHidden":true},"ELE:3907":{"isHidden":true}},"defaultSelectionId":"ELE:1781"}}}}}
2
  • 1
    Try (?<={"ELE:)\d+(?=":{"isHidden":true}) or (?<="ELE:)\d+(?=":{"isHidden":true}) Commented Jun 8, 2021 at 11:08
  • thank you so much, (?<="ELE:)\d+(?=":{"isHidden":true}) worked for me. Commented Jun 8, 2021 at 11:19

1 Answer 1

2

You can use

(?<="ELE:)\d+(?=":{"isHidden":true})

See the regex demo.

Details

  • (?<="ELE:) - "ELE: must appear immediately to the left of the current location
  • \d+ - one or more digits
  • (?=":{"isHidden":true}) - ":{"isHidden":true} must appear immediately to the right of the current location.

Regex graph:

enter image description here

Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.