[英]RegEx VB.NET part of string
我有一个正则表达式女巫搜索日期(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](20)\\d\\d
。
问题是它还会返回匹配项位于另一个字符串(如10.10.10.2019
)内的匹配项,它将匹配的日期为10.10.2019
。 在开始和结尾都尝试了\\b
,但是没有运气。 也使用^
和$
但仍然没有运气。
您需要使用环顾四周方法仅在空格之间或字符串的开始/结尾之间进行匹配:
(?<!\S)(?:0?[1-9]|[12][0-9]|3[01])([- /.])(?:0?[1-9]|1[012])\k<1>20\d\d(?!\S)
^^^^^^^ ^^^^^^
我还建议通过使用([- /.])
捕获第一个分隔符,然后使用\\k<1>
(明确)后向引用匹配相同的值来检查是否存在相同的分隔符。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.