Regex 正则表达式在记事本++;

Regex 正则表达式在记事本++;,regex,notepad++,replace,Regex,Notepad++,Replace,我有一个这样的文本文件: marc_webber john_grisham rahmin_darfur firstname_lastname 我希望输出是这样的(忘记像“vanthis”这样的双重名称): 因此,我想在处拆分字符串,将姓氏移到开头,用逗号分隔名字,并将连在一起的名字移到结尾(甚至可能将第一个字母大写)。 这对于编程语言来说相当容易,但我想知道是否可以使用记事本+++的查找并替换为正则表达式的功能 基本上,我需要为名字和姓氏创建变量,并在最后将它们再次串在一起。除了大小写之外,这

我有一个这样的文本文件:

marc_webber
john_grisham
rahmin_darfur
firstname_lastname
我希望输出是这样的(忘记像“vanthis”这样的双重名称):

因此,我想在处拆分字符串,将姓氏移到开头,用逗号分隔名字,并将连在一起的名字移到结尾(甚至可能将第一个字母大写)。 这对于编程语言来说相当容易,但我想知道是否可以使用记事本+++的查找并替换为正则表达式的功能

基本上,我需要为名字和姓氏创建变量,并在最后将它们再次串在一起。

除了大小写之外,这应该可以工作(在程序员记事本中测试…:

查找模式:

((\w+)_(\w+))
\3, \2, \1
替换模式:

((\w+)_(\w+))
\3, \2, \1

这对我使用
sed
(我想它在notepad++中也可以使用,因为它可能支持perl正则表达式):

在您的示例中,获取大小写的技巧是使用
\u


您可以找到有关转义序列的详细信息。

您的编辑器不支持整个匹配的\0吗?如果是,你可以避免第一个group@fge:在记事本中不起作用。感谢您的提示。替换内容应为
\3、\2、\1
。不过,您将无法更改任何信件的大小写。谢谢!通过TextFX>Characters>property Case,我有点理解了大小写的正确性,但是Case并没有那么重要。NotePad++不支持
\u
,所以你几乎只能使用小写字母,它也不支持
\0
,所以你也必须捕获整个内容。