Regex для замены букв рядом с цифрами в верхнем регистре - PullRequest
2 голосов
/ 23 мая 2019

У меня есть это регулярное выражение (\w+) Замените на \u$0

Это делает заглавные буквы, например: james1 до James1.

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

12james

1azz4ds

1995brandon


666metal

до

12James

1Azz4ds

1995Brandon


666Metal

Как мне решить эту проблему?

Ответы [ 2 ]

1 голос
/ 23 мая 2019

Здесь мы также можем собрать цифры, затем буквы, возможно, прописные или строчные, и заменить их:

[0-9]+([A-Za-z])

enter image description here

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

^[0-9]+([A-Za-z])

или:

^([0-9]+)([A-Za-z])

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

$1\u$2

enter image description here

RegEx

Если это выражение нежелательно, его можно изменить или изменить в regex101.com .

RegEx Circuit

jex.im визуализирует регулярные выражения:

enter image description here

1 голос
/ 23 мая 2019

Вы можете сопоставить границу слова \b, сопоставить цифры 1+ \d+, а затем забыть, что сопоставляется с помощью \K. Затем сопоставьте одну строчную a-z:

\b\d+\K[a-z]

Заменить на:

\u$0

См. Regex demo

Если перед цифрами не должно быть никаких пробелов, вместо использования \b вы также можете использовать:

(?<!\S)\d+\K[a-z]

Смотрите другое Regex demo

...