正则表达式用于替换数字大写字母旁边的字母

时间:2019-05-23 16:02:19

标签: regex notepad++

我将此正则表达式(\w+)替换为\u$0

这使首字母大写为例如:james1James1

但是我需要一个正则表达式来使每个单词的首字母大写(例如以数字开头)

12james

1azz4ds

1995brandon


666metal

12James

1Azz4ds

1995Brandon


666Metal

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

您可以匹配单词边界\b,匹配1个以上的数字\d+,然后忘记使用\K匹配的内容。然后匹配一个小写的a-z:

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

替换为:

\u$0

查看Regex demo

如果数字前不能有非空格,那么您也可以使用:

\b

查看其他Regex demo

答案 1 :(得分:1)

在这里,我们还可以收集数字,然后将字母(大写或小写)替换:

[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电路

jex.im可视化正则表达式:

enter image description here