Regex 用于替换数字大写旁边的字母的正则表达式
我将这个正则表达式Regex 用于替换数字大写旁边的字母的正则表达式,regex,notepad++,Regex,Notepad++,我将这个正则表达式(\w+替换为\u$0 这使得首字母大写,例如:james1到james1 但我需要一个正则表达式,当每个单词以数字开头时,它会使每个单词的首字母大写 12james 1azz4ds 1995brandon 666metal 到 如何解决此问题?您可以匹配单词边界\b,匹配1+位\d+,然后忘记使用\K匹配的内容。然后匹配一个小写字母a-z: \b\d+\K[a-z] 替换为: \u$0 见 如果数字前不能有非空白,您也可以使用以下选项,而不是使用\b: (?&l
(\w+
替换为\u$0
这使得首字母大写,例如:james1
到james1
但我需要一个正则表达式,当每个单词以数字开头时,它会使每个单词的首字母大写
12james
1azz4ds
1995brandon
666metal
到
如何解决此问题?您可以匹配单词边界
\b
,匹配1+位\d+
,然后忘记使用\K
匹配的内容。然后匹配一个小写字母a-z:
\b\d+\K[a-z]
替换为:
\u$0
见
如果数字前不能有非空白,您也可以使用以下选项,而不是使用\b
:
(?<!\S)\d+\K[a-z]
(?
请参阅此处的另一个,我们还可以收集数字,然后收集字母,可能是大写或小写,并替换为:
[0-9]+([A-Za-z])
我们将添加一个开始字符,以仅捕获我们希望替换的字母:
^[0-9]+([A-Za-z])
或:
对于这个表达式,我们的替换类似于:
$1\u$2
正则表达式
如果不需要此表达式,可以在中对其进行修改或更改
正则表达式电路
可视化正则表达式:
您当前的正则表达式将大写任何单词,无论其是否以数字结尾。不清楚您是否意识到了这一点。对于您的主要问题,您可以将(\d+)(正则表达式描述的单词不是以数字开头的)
更改为$0\u$1
单词是否包含字母和数字以外的字符?
^([0-9]+)([A-Za-z])
$1\u$2