正则表达式:将小写字母替换为<中的大写字母标签>在单词的开头

时间:2017-03-24 17:01:56

标签: regex windows notepad++

我有这个正则表达式:

搜索:(\w+)([A-Z]) 替换为:\u$1$2

这将把所有单词的第一个字母替换为大写字母。例如:

My mother is home -> My Mother Is Home

现在,我想以同样的方式替换<title></title>标记中的所有单词,来自多个文件。

我写这个正则表达式,但不会在大写单词的开头(从标签)转换小写字母

  

搜索:<title>(\w+)([A-Z])</title>

     

替换为:\u$1$2

任何人都可以帮我一点吗?例如:

<title>My mother is home</title>应该成为<title>My Mother Is Home</title>

1 个答案:

答案 0 :(得分:2)

您可以使用以下正则表达式解决方案:

查找内容(?:\G(?!^)|<title>)\s*\K([^<\s])([^<\s]*)
替换为\u$1\L$2

<强>详情:

  • (?:\G(?!^)|<title>) - <title>或上一次成功比赛结束
  • \s* - 0+ whitespaces
  • \K - 匹配重置运算符
  • ([^<\s]) - 捕获组1:除<或空格之外的任何字符
  • ([^<\s]*) - 除空格和<以外的任何0 +字符。

\u$1将组1的起始字符(并且它是唯一的字符串)变为大写字母,\L$2将匹配的其余部分变为小写字母。

enter image description here