求一个正则表达式 在线等ing

尐孑 2012-04-11 02:55:22
人物生日数据时间格式是 1986/9/27 0:00:00
通过正则表达式怎么判断此人是否是今天生日
高手指教
...全文
353 43 打赏 收藏 转发到动态 举报
写回复
用AI写文章
43 条回复
切换为时间正序
请发表友善的回复…
发表回复
干巴猴儿 2012-04-12
  • 打赏
  • 举报
回复
只要判断月日相同,对吧,
看看这样行不?

string partten="^[0-9]{4}/" + datetime.Now.Month + "/"+datetime.Now.day;
EnForGrass 2012-04-12
  • 打赏
  • 举报
回复
[Quote=引用 38 楼 的回复:]

引用 37 楼 的回复:

引用 36 楼 的回复:

引用 35 楼 的回复:

引用 34 楼 的回复:

不需要任何处理 就需要一个条件 条件就是个正则表达式

我只是想要个正则表达式,

其实只需要判断年月日就行了
C# code

string time="1986/9/27 0:00:00";//你数据库查询出来的不就行了
Regex reg=……
[/Quote]
这样当然可以,构造

string Birthday = "2012/4/12 0:00:00";
string yymm = @"(\d{4})/([" + DateTime.Now.Month + "])/[" + DateTime.Now.Day + "]";
if(Regex.IsMatch(Birthday, yymm))
{
MessageBox.Show("Yes");
}
尐孑 2012-04-12
  • 打赏
  • 举报
回复
[Quote=引用 37 楼 的回复:]

引用 36 楼 的回复:

引用 35 楼 的回复:

引用 34 楼 的回复:

不需要任何处理 就需要一个条件 条件就是个正则表达式

我只是想要个正则表达式,

其实只需要判断年月日就行了
C# code

string time="1986/9/27 0:00:00";//你数据库查询出来的不就行了
Regex reg=new Regex(@"\d{4}……
[/Quote]

生日
生日
生日
生日
生日
生日

月日相同就行 正则应该可以实现吧
EnForGrass 2012-04-12
  • 打赏
  • 举报
回复
[Quote=引用 36 楼 的回复:]

引用 35 楼 的回复:

引用 34 楼 的回复:

不需要任何处理 就需要一个条件 条件就是个正则表达式

我只是想要个正则表达式,

其实只需要判断年月日就行了
C# code

string time="1986/9/27 0:00:00";//你数据库查询出来的不就行了
Regex reg=new Regex(@"\d{4}/(\d{1,2})/(\d{1,……
[/Quote]
这个当然不是啊,这只是用来匹配日期格式的。正则是用来匹配的,可以匹配日期格式,匹配的原文本内容是已知的,你用它来判断是不是今天,这不行的,正则不是来干这事的。我明白了,你是想直接得出今天的啊
那你为什么不直接在sql中操作了

SELECT CONVERT(VARCHAR(10),GETDATE(),111) Today
/*
Today
----------
2012/04/12

(1 行受影响)
*/

尐孑 2012-04-12
  • 打赏
  • 举报
回复
[Quote=引用 35 楼 的回复:]

引用 34 楼 的回复:

不需要任何处理 就需要一个条件 条件就是个正则表达式

我只是想要个正则表达式,

其实只需要判断年月日就行了
C# code

string time="1986/9/27 0:00:00";//你数据库查询出来的不就行了
Regex reg=new Regex(@"\d{4}/(\d{1,2})/(\d{1,2})\s*\d{1……
[/Quote]
Regex reg=new Regex(@"\d{4}/(\d{1,2})/(\d{1,2})\s*\d{1,2}:\d{2}:\d{2}");//最好改成Regex reg=new Regex(@"\d{4}/(\d{1,2})/(\d{1,2})")这样得出来的是今天过生日的吗 看不懂啊
EnForGrass 2012-04-12
  • 打赏
  • 举报
回复
[Quote=引用 34 楼 的回复:]

不需要任何处理 就需要一个条件 条件就是个正则表达式

我只是想要个正则表达式,
[/Quote]
其实只需要判断年月日就行了
 
string time="1986/9/27 0:00:00";//你数据库查询出来的不就行了
Regex reg=new Regex(@"\d{4}/(\d{1,2})/(\d{1,2})\s*\d{1,2}:\d{2}:\d{2}");//最好改成Regex reg=new Regex(@"\d{4}/(\d{1,2})/(\d{1,2})")
if(reg.IsMatch(time)
{
MessageBox.Show("匹配");
}
尐孑 2012-04-12
  • 打赏
  • 举报
回复
不需要任何处理 就需要一个条件 条件就是个正则表达式

我只是想要个正则表达式
EnForGrass 2012-04-12
  • 打赏
  • 举报
回复
[Quote=引用 31 楼 的回复:]

引用楼主 的回复:
人物生日数据时间格式是 1986/9/27 0:00:00
通过正则表达式怎么判断此人是否是今天生日
高手指教

数据库里人物生日的时间格式是yyyy/M/dd H:mm:ss

我需要一个正则表达式 去查询今天生日的人
[/Quote]


string time="1986/9/27 0:00:00";//你把值换成你数据库查询出来的不就行了
Regex reg=new Regex(@"\d{4}/(\d{1,2})/(\d{1,2})");
if(reg.IsMatch(time) && reg.Match(time).Groups[1].Value==DateTime.Now.Month.ToString().PadLeft(2,'0') &&
reg.Match(time).Groups[2].Value==DateTime.Now.Day.ToString().PadLeft(2,'0'))
{
Console.WriteLine("Happy Birthday");
}

难道你还要进行其他处理
尐孑 2012-04-12
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
人物生日数据时间格式是 1986/9/27 0:00:00
通过正则表达式怎么判断此人是否是今天生日
高手指教
[/Quote]
数据库里人物生日的时间格式是yyyy/M/dd H:mm:ss

我需要一个正则表达式 去查询今天生日的人
干巴猴儿 2012-04-12
  • 打赏
  • 举报
回复
多谢楼主的50分,
哇咔咔咔,哇咔咔咔,哇咔咔咔,哇咔咔咔

41楼的回帖我看见喽 ,发了个"。。。。。。。。。" ,然后就被管理员删了吧!
尐孑 2012-04-12
  • 打赏
  • 举报
回复
这个版主有毛病 有的回复我还没看到就被删了 好像自己很负责是的
色拉油 2012-04-11
  • 打赏
  • 举报
回复
用正则干嘛。。。[Quote=引用 29 楼 的回复:]

DateTime sr = DateTime.Parse("1986/9/27 0:00:00");
if (sr.Month == DateTime.Now.Month && sr.Day == DateTime.Now.Day)
{
Console.WriteLine("生日快乐");
……
[/Quote]
anzhiqiang_touzi 2012-04-11
  • 打赏
  • 举报
回复
DateTime sr = DateTime.Parse("1986/9/27 0:00:00");
if (sr.Month == DateTime.Now.Month && sr.Day == DateTime.Now.Day)
{
Console.WriteLine("生日快乐");
}



EnForGrass 2012-04-11
  • 打赏
  • 举报
回复
[Quote=引用 24 楼 的回复:]

我都试过了 都不行

C# code

var query = Query.Matches("Birthday", @"(\\d{4})([" + DateTime.Today.Month + "])[" + DateTime.Today.Day + "]");
return
_db.GetCollection<Personalit……
[/Quote]
写的正则是没问题的

你拿后面的正则去匹配Birthday这个字符串肯定不对啊,Birthday是字符串,不是变量


string Birthday="1986/9/27 0:00:00";
var query = Query.Matches(Birthday, @"(\\d{4})([" + DateTime.Today.Month + "])[" + DateTime.Today.Day + "]");
return
_db.GetCollection<Personality>("Personality").FindAs<Personality>(query).OrderByDescending(
m => m.AddTime).ToList();
smokerlord 2012-04-11
  • 打赏
  • 举报
回复
楼主 你是怎么测试的 发上来来瞧瞧 我在我自己机器上都测试过 可以的啊
大Y 2012-04-11
  • 打赏
  • 举报
回复
[Quote=引用 24 楼 的回复:]

我都试过了 都不行

C# code

var query = Query.Matches("Birthday", @"(\\d{4})([" + DateTime.Today.Month + "])[" + DateTime.Today.Day + "]");
return
_db.GetCollection<Personalit……
[/Quote]

LZ这是引用的啥!!!!

这正则,匹配的绝对没有问题 \d{4}/(\d{1,2})/(\d{1,2})
寂小魔 2012-04-11
  • 打赏
  • 举报
回复
正则,目前处于空白状态,学习中。
尐孑 2012-04-11
  • 打赏
  • 举报
回复
我都试过了 都不行


var query = Query.Matches("Birthday", @"(\\d{4})([" + DateTime.Today.Month + "])[" + DateTime.Today.Day + "]");
return
_db.GetCollection<Personality>("Personality").FindAs<Personality>(query).OrderByDescending(
m => m.AddTime).ToList();
LMAOhuaNL 2012-04-11
  • 打赏
  • 举报
回复
正则高人真多
Mirror然 2012-04-11
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 的回复:]

C# code

string time="1986/9/27 0:00:00";
Regex reg=new Regex(@"\d{4}/(\d{1,2})/(\d{1,2})");
if(reg.IsMatch(time) && reg.Match(time).Groups[1].Value==DateTime.Now.Month.ToString().Pa……
[/Quote]

+
加载更多回复(18)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧