Regex to replace values that include part of match

2019-03-09 07:11发布

问题:

I've come up with this regex that finds all words that start with $ and contain _ underscores:

\$(\w+)_(\w+)

I'm basically searching for variables, like $var_foo etc.

How do I replace stuff using the regex groups?

For example, how can I remove the underscore and make the next letter uppercase, like $varFoo ?

回答1:

The replacement expression is:

\$\1\u\2
  • \1, \2 are the captures (or $1, $2)
  • \u up-cases (see the Replacement String Syntax section).

See the Regular Expressions chapter (in the TextMate docs) for more information.

There's already a package that does this, and more:

  • Brief blog about CaseConversion
  • CaseConversion package