1

私は正規表現があまり得意ではなく(年に数回しか使用できません)、誰かがC#の正規表現ステートメントを手伝ってくれるかどうかを確認したいと思います。

<####-##-##> or </####-##-##>

と置き換えます

<date-####-##-##> or </date-####-##-##>

となることによって

<2012-01-01>stuff</2012-01-01><2012-05-01>stuff2</2012-05-01>

になります

<date-2012-01-01>stuff</date-2012-01-01><date-2012-05-01>stuff2</date-2012-05-01>
4

2 に答える 2

1
string test = "<2012-01-01>stuff</2012-01-01><2012-05-01>stuff2</2012-05-01>";

var regex = new Regex(@"<(/?)(\d\d\d\d)-(\d\d)-(\d\d)>");
var result = regex.Replace(test, @"<$1date-$2-$3-$4>");

Console.WriteLine(result);

//output:
//<date-2012-01-01>stuff</date-2012-01-01><date-2012-05-01>stuff2</date-2012-05-01>

処理している文字列内の他のテキストに応じて、詳細の必要性が高まることに注意してください。他にたくさんのタグがありますか?日付ではない数字?等..

于 2012-08-02T13:54:37.027 に答える
0

タグ内の値を調べると、これが解決策になります。

if(Regex.IsMatch(input, @"^(19|20)\d\d[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])$"))
        {
            input.Replace(input,"date-"+input);
        }
于 2012-08-02T13:57:41.590 に答える