今天,我使用c# Regex.IsMatch函数来匹配键:value格式。
我有一些代码可以检查字符串格式是否为:key:value (如: H:15)。
我今天使用的Regex模式是:D,H,M,S1-9+\d?
当输入为15时,我想要考虑的是:H:15
因此,我需要改进Regex以支持键:value或只值(没有冒号),H:15是好的,15也是好的。
我试着使用或正则表达式,类似于:(D,H,M,S1-9+\d?)(1-9+\d?)
但是现在它匹配了更多的想法,比如:1和H:01,这对我来说是很糟糕的输入。
我尝试使用lookbehind,但没有成功。
任何帮助都将不胜感激,
纳达夫。
发布于 2015-03-09 17:27:12
好像你想要这样的东西,
@"^(?:[DHMS]:)?[1-9]\d*$"[DHMS]匹配给定列表中的单个字符。非捕获组之后的?将将关键部分转换为可选部分。\d*匹配零或多个数字字符。
https://stackoverflow.com/questions/28948101
复制相似问题