正则表达式用MS Word中的另一个字符串替换字符串?

Joa*_*nge 3 regex ms-word

任何人都可以帮助我改变正则表达式:

filename_author
Run Code Online (Sandbox Code Playgroud)

author_filename
Run Code Online (Sandbox Code Playgroud)

我正在使用MS Word 2003,并尝试使用Word的查找和替换.我试过这个use wildcards功能,但没有运气.

我只能以编程方式进行吗?

And*_*are 14

这是正则表达式:

([^_]*)_(.*)

这是一个C#示例:

using System;
using System.Text.RegularExpressions;

class Program
{
    static void Main()
    {
        String test = "filename_author";
        String result = Regex.Replace(test, @"([^_]*)_(.*)", "$2_$1");
    }
}
Run Code Online (Sandbox Code Playgroud)

这是一个Python示例:

from re import sub

test = "filename_author";
result = sub('([^_]*)_(.*)', r'\2_\1', test)
Run Code Online (Sandbox Code Playgroud)

编辑:为了在Microsoft Word中使用通配符执行此操作,请将其用作搜索字符串:

(<*>)_(<*>)

并替换为:

\2_\1

此外,请参阅使用正则表达式Word搜索添加电源,以获得我上面使用的语法的说明:

  • 星号(*)返回单词中的所有文本.
  • 小于和大于符号(<>)分别标记每个单词的开头和结尾.它们确保搜索返回单个单词.
  • 括号和它们之间的空格将单词分成不同的组:(第一个单词)(第二个单词).括号还指示您希望搜索评估每个表达式的顺序.