任何人都可以帮助我改变正则表达式:
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搜索添加电源,以获得我上面使用的语法的说明:
- 星号(*)返回单词中的所有文本.
- 小于和大于符号(<>)分别标记每个单词的开头和结尾.它们确保搜索返回单个单词.
- 括号和它们之间的空格将单词分成不同的组:(第一个单词)(第二个单词).括号还指示您希望搜索评估每个表达式的顺序.