我有以下字符串(在vb.net中):
22nd Jan 1985 11:00
我希望regex.match()的输出如下所示:
Dim data as String = "-- Compiled: Aug 6 2015 10:07:08 --\nanotherline--\n..."
我正在尝试各种变体:
Aug 6 2015 10:07:08
但我能输出的最好的是:
Regex.Match(data, "(?<=Compiled:\s)(.*)(?<!-)", RegexOptions.IgnoreCase).ToString
如何让正则表达式确认连字符(“破折号”)字符以停止匹配?
提前谢谢!
答案 0 :(得分:2)
你需要使用非贪婪的正则表达式的正向前瞻。
Regex.Match(data, "(?<=Compiled:\s).*?(?=\s*-)", RegexOptions.IgnoreCase).ToString
答案 1 :(得分:1)
您不需要在RHS使用lookbehind,只需使用mapper.configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true);
模式:
negation
答案 2 :(得分:1)