Regex 注册日期:YYYYMM--
没有日期值(“--”)和分隔符的日期的正则表达式是什么 格式:YYYYMM--Regex 注册日期:YYYYMM--,regex,date,Regex,Date,没有日期值(“--”)和分隔符的日期的正则表达式是什么 格式:YYYYMM-- 201201--将代码匹配为年。月 namespace ConsoleApplication1 { class Program { static void Main(string[] args) { string txt="201201--"; string re1="((?:[0]?[1-9]|[1][012])(?:(?:[0-2]?\\d{1})|(?:[3][
201201--将代码匹配为年。月
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string txt="201201--";
string re1="((?:[0]?[1-9]|[1][012])(?:(?:[0-2]?\\d{1})|(?:[3][01]{1}))(?:(?:[1]{1}\\d{1}\\d{1}\\d{1})|(?:[2]{1}\\d{3})))(?![\\d])";
string re2="(-)";
string re3="(-)";
Regex r = new Regex(re1+re2+re3,RegexOptions.IgnoreCase|RegexOptions.Singleline);
Match m = r.Match(txt);
if (m.Success)
{
String mmddyyyy1=m.Groups[1].ToString();
String c1=m.Groups[2].ToString();
String c2=m.Groups[3].ToString();
Console.Write("("+mmddyyyy1.ToString()+")"+"("+c1.ToString()+")"+"("+c2.ToString()+")"+"\n");
}
Console.ReadLine();
}
}
}
…处理100001--299912--
根据@m42编辑更正的日期,哎呀 谢谢,昨天是美国的一个假期,所以我在星期一早上晚了一天打字:——]我去掉了一些不必要的反斜杠;您可能还想在正则表达式之前添加一个
\b
,以确保匹配从“单词边界”开始(而不是作为9876543210012--
或类似的子匹配)。啊,我倾向于过度逃避这些事情,因为我很少发现一种语言抱怨过多的反斜杠,但是经常遇到的麻烦太少了:-)不过还是要谢谢你。而且,是的,这根本不能处理锚定。你需要接受年吗
([12][0-9]{3})(0[1-9]|1[0-2])--