RegEx для поиска совпадений от всех заглавных букв до верхних верблюд - PullRequest
1 голос
/ 01 мая 2019

Я столкнулся с проблемой, когда статический класс, заполненный константными строками, использовался во всем проекте, и вместо этого он был изменен для файла ресурсов. В этом изменении изменился способ доступа к указанным строкам, и ссылка на них должна измениться соответственно.

Ссылка сначала выглядела так:

Externalization.Properties.strings.Class1.FIRST_FOO_VALUE
Externalization.Properties.strings.Class1.Subclass1.SECOND_FOO_VALUE

и теперь выглядит так:

Externalization.Properties.strings.Class1_FirstFooValue
Externalization.Properties.strings.Class1_Subclass1_SecondFooValue

Используя https://www.regexr.com/, мы уже обнаружили, что регулярное выражение для поиска всех вхождений нашей первой группы будет выглядеть примерно так:

"Externalization.Properties.strings.([A-Za-z]+).([A-Za-z]+).([A-Z_]+)"

и мы также обнаружили, что возможное регулярное выражение для замены всего будет выглядеть примерно так:

"<< Externalization.Properties.strings.$1_$2_$3 >>"

Мы почти у цели. Мы пытаемся выяснить, как заменить все заглавные буквы, подчеркните структуру предыдущих ссылок на верхний верблюжий корпус, используя только подчеркивания там, где раньше были точки. Как это возможно с помощью регулярных выражений?

Важное примечание: операция поиска и замены выполняется в VS2017, и мы используем их инструмент для этого. Будут ли такие регулярные выражения вести себя хорошо в этой среде?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...