Andrew
Andrew

Reputation: 6860

Find and replace regex in Intellij, but keep some of the matched regex?

I changed an array to a list, so I want to change all instances of myObject[index] to myObject.get(index) where index is different integers. I can find these instances by doing

`myObject\[.*\]`

However, I am not sure what I should put in the replace line - I don't know how to make it keep the index values.

Upvotes: 33

Views: 8338

Answers (1)

Wiktor Stribiżew
Wiktor Stribiżew

Reputation: 626835

Use the following regex replacement:

Find: myObject\[(.*?)\]
Replace: myObject.get($1)

If the index is an integer, you may replace (.*?) with (\d+).

The pair of unescaped parentheses creates a capturing group that we may reference from the replacement pattern using $ + Group ID. $1 will insert the index into the replacement result.

Upvotes: 44

Related Questions