Regex Multiline将所有单词的首字母大写并删除空格记事本++

时间:2018-08-09 00:37:29

标签: regex notepad++

我在这里制作了此正则表达式演示(工作):https://regex101.com/r/WSwEbY/6

当我在记事本++中使用它时,它不能用于多行:

hello ladies how are you Today
hello ladies how are you Today

-> result is on a single line:
helloLadiesHowAreYouTodayHelloLadiesHowAreYouToday

信息:

search: [^\w]+(\w) 
replaceby: \U$1
n++version: 7.5.8

我还尝试检查“多行”或在搜索的en中添加“ $”。

3 个答案:

答案 0 :(得分:1)

在这里,您尝试匹配不是单词字符的所有内容:

[^\w]

但是,换行符\n也不是文字字符,因此也将与[^\w]匹配并替换。

您也应该从字符类中排除\n

[^\w\n]+(\w)

Demo

答案 1 :(得分:0)

仅匹配空格或带有多行标志的开始(^)怎么样?

(?:^| +)(\w)

子:

\U$1

答案 2 :(得分:0)

除了在重复的字符集中不匹配换行符外,还应检查行是否在行首,这也将使行中的第一个单词也大写。使用m标志,使^与行首匹配:

(?:^|[^\w\n]+)(\w)

替换为:

\U$1

输出:

HelloLadiesHowAreYouToday
IAmFineThankYou

https://regex101.com/r/dsOcOD/1