2009-11-27 43 views
0

这里是文字我有极易正则表达式替换问题

Remediation2009November Remediation2009December

这是我开发的找到他们

Remediation2009正则表达式(十一月|十二月)

我我不知道如何开发一个正则表达式,以便当我执行替换时,我可以简单地附加一个单词到我的匹配结尾

Remediation2009NovemberCompany2 Remediation2009DecemberCompany2

感谢

+0

而且,您正在使用哪种语言? – Martin 2009-11-27 14:52:51

+0

对不起,忘记了。我在SQL Server Management Studio中。 – 2009-11-30 13:25:38

回答

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); 

希望这有助于 最好的问候, 汤姆。

+0

该死的,在你提到Python之后,我正在编辑它!道歉! :( – t0mm13b 2009-11-27 14:59:04

+0

+1没问题,它会在某一天帮助某人,无论如何,D – YOU 2009-11-27 15:20:46

+0

我在SQL Server Management Studio中不是Python,对于混淆抱歉,给出上面的例子完成了吗? – 2009-11-30 13:27:41

0

S/Remediation2009(十一月|九月)/ Remedation2009 \ 1Company2/

0

在Python

import re 
text="Remediation2009November Remediation2009December" 
re.sub("(Remediation2009(?:November|December))","\\1Company2",text) 

会做

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(); 
     } 
    } 
} 
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