c# – 正则表达式匹配零或一次字符串
我一直在这个时间已经过了一个多小时,没有成功,这是我的头.
我正在尝试使一个与此字符串匹配的正则表达式{Date HH:MM:ss},但这里的技巧是HH,MM和ss是可选的,但它需要为“HH”,而不仅仅是“H”事情适用于MM和ss).如果单个“H”出现,字符串不应该匹配. 我知道我可以使用H {2}来匹配HH,但我似乎不能使用该功能加上?匹配零或一次(零,因为它是可选的,最多一次). 到目前为止,我正在做这件事(显然不行): Regex dateRegex = new Regex(@"{Date H{2}?:M{2}?:s{2}?}"); 请帮助我,抱歉,noob问题. FB. 下一个问题,现在我有第一个字符串的匹配,我只想采用HH:MM:ss部分,并把它放在另一个字符串(这将是一个TimeStamp对象的格式). 我用同样的方法,像这样: Regex dateFormatRegex = new Regex(@"(HH)?:?(MM)?:?(ss)?"); 但是,当我尝试“{日期HH:MM}”我没有比赛,为什么? 编辑:如果我添加这样的空间Regex dateFormatRegex = new Regex(@“(HH)?:?(MM)?:?(ss)?”);我有结果,但我不想要的空间… 解决方法
(H {2})?匹配零个或两个H字符.
然而,在你的情况下写两次会更可读: Regex dateRegex = new Regex(@"{Date (HH)?:(MM)?:(ss)?}"); 此外,请确保没有任何功能可用于您尝试做的任何事情.解析日期是很常见的,大多数编程语言在标准库中都有功能 – 我几乎可以打赌1k的声誉,.NET也有这样的功能. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |