[英]C# Regex Help replacing patterns
我不太擅长regex(我一年只能使用几次),想看看是否有人可以帮助C#regex语句查找所有实例。
<####-##-##> 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>
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>
请注意,对细节的需求会根据正在处理的字符串中的其他文本而增加。 还有很多其他标签吗? 不是数字的日期吗? 等等..
如果检查标记内的值,这将是一个解决方案。
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);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.