RegEx VB.NET字符串

时间:2016-12-14 12:11:34

标签: regex vb.net

我有正则表达式女巫搜索日期(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](20)\d\d

问题是,它还返回匹配位于匹配10.10.10.2019之类的另一个字符串中的匹配项,它将10.10.2019作为日期匹配。在开始和结束时尝试\b但没有运气。还使用了^$,但仍然没有运气。

1 个答案:

答案 0 :(得分:1)

您需要使用外观来仅匹配空格或字符串的开头/结尾:

(?<!\S)(?:0?[1-9]|[12][0-9]|3[01])([- /.])(?:0?[1-9]|1[012])\k<1>20\d\d(?!\S)
^^^^^^^                                                                ^^^^^^

请参阅regex demo

我还建议通过使用([- /.])捕获第一个分隔符,然后使用\k<1>(明确的)反向引用来匹配相同的值来检查相同的分隔符。