如何在Notepad ++中更改正则表达式中的字母大小写

Док*_*инг 9 regex text notepad++

例如,有很多这样的行:"术语 - 定义".因为Notepad ++中的正则表达式可以用"大写"字母写成"术语" - TERM?

谢谢!

Mar*_*der 14

Find what: ^(\S+)(?=\s*-)
Replace with: \U$1
Run Code Online (Sandbox Code Playgroud)

这是做什么的?搜索模式在行的开头匹配尽可能多的非空格字符(\S+),并$1因括号而在变量中捕获它们.之后是一个前瞻,断言这个"单词"之后是一个连字符(之间没有任何其他内容).此前瞻实际上并未包含在匹配中,因此不会删除/替换它.

替换开始时\U所说的"在大写之后输出所有内容,除非你用\E".然后$1回写我们匹配的内容\S+(在您的情况下term).但是大写.

确保更新到Notepad ++ 6.在此之前,正则表达式有点古怪.

以下是替换字符串中可能的文档.

编辑:

我猜你的实际行可能比在行的开头有一个单词然后连字符更有趣.但是从你给出的例子我无法分辨.但要为任意数量的单词执行此操作并忽略行开头的空格(只要行中某处有连字符),您可以执行以下操作:

Find what: ^(([ \t]*[^\s-]+)*)(?=[ \t]*-)
Run Code Online (Sandbox Code Playgroud)

但是如果没有实际的输入示例,我恐怕你必须自己弄清楚正确的搜索模式.