这是我的文字
Remediation2009November Remediation2009December
这是我为找到它们而开发的正则表达式
Remediation2009(十一月|腊)
我不确定如何开发一个正则表达式,这样当我执行替换时,我可以简单地在我的匹配结尾添加一个单词
Remediation2009NovemberCompany2 Remediation2009DecemberCompany2
由于
答案 0 :(得分:3)
因为你没有提到什么语言 - 这是一个C#例子
public Regex MyRegex = new Regex( "Remediation2009(November|December)\\s+", RegexOptions.IgnoreCase | RegexOptions.CultureInvariant | RegexOptions.IgnorePatternWhitespace | RegexOptions.Compiled ); // This is the replacement string public string MyRegexReplace = "Remediation2009($1)Company2 "; //// Replace the matched text in the InputText using the replacement pattern string result = MyRegex.Replace(InputText,MyRegexReplace);
希望这有帮助, 最好的祝福, 汤姆。
答案 1 :(得分:1)
以下是使用C#的示例,如果您指定使用的语言,我可以使用您的特定语言提供解决方案。
using System;
using System.Text.RegularExpressions;
namespace ConsoleApplication4
{
class Program
{
static void Main(string[] args)
{
var input = "Remediation2009December";
var regex = new Regex("Remediation2009(November|December)");
var output = regex.Replace(input, "$0Company2");
Console.WriteLine(output);
Console.ReadLine();
}
}
}
答案 2 :(得分:0)
S / Remediation2009(十一月|九月)/ Remedation2009 \ 1Company2 /
答案 3 :(得分:0)
在Python中
import re
text="Remediation2009November Remediation2009December"
re.sub("(Remediation2009(?:November|December))","\\1Company2",text)
会做
答案 4 :(得分:0)
为什么需要正则表达式?在Python中,只需在构建的字符串函数中使用它就可以轻松地进行字符串操作
>>> s="Remediation2009November Remediation2009December".split()
>>> for n,word in enumerate(s.split()):
... if word.endswith("November") or word.endswith("December"):
... s[n]=word+"Company2"
>>> print ' '.join(s)
Remediation2009NovemberCompany2 Remediation2009DecemberCompany2