Чрезвычайно Легко Regex Заменить вопрос - PullRequest
0 голосов
/ 27 ноября 2009

Вот текст у меня

Remediation2009November Remediation2009December

Вот регулярное выражение, которое я разработал, чтобы найти их

Remediation2009 (ноябрь | декабрь)

В чем я не уверен, так это в том, как разработать регулярное выражение, чтобы при выполнении замены я мог просто добавить слово в конец моих матчей

Remediation2009NovemberCompany2 Remediation2009DecemberCompany2

Спасибо

Ответы [ 5 ]

3 голосов
/ 27 ноября 2009

Поскольку вы не упомянули, на каком языке - вот пример 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 голос
/ 27 ноября 2009

Вот пример использования 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 голосов
/ 27 ноября 2009

зачем тебе регулярное выражение? В 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
0 голосов
/ 27 ноября 2009

В Python

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

сделает

0 голосов
/ 27 ноября 2009

с / Remediation2009 (ноябрь | сентябрь) / Remedation2009 \ 1Company2 /

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...