我有表格中的字符串[abc].[some other string].[can.also.contain.periods].[our match]
我现在想匹配字符串“我们的匹配”(即不带括号),所以我玩了环顾四周之类的东西。我现在得到了正确的匹配,但我认为这不是一个干净的解决方案。
(?<=\.?\[) starts with '[' or '.['
([^\[]*) our match, i couldn't find a way to not use a negated character group
`.*?` non-greedy did not work as expected with lookarounds,
it would still match from the first match
(matches might contain escaped brackets)
(?=\]$) string ends with an ]
语言是 .net/c#。如果有一个不涉及正则表达式的更简单的解决方案,我也很高兴知道
真正让我恼火的是,我不能用(.*?)
它来捕获字符串,因为看起来非贪婪不适用于lookbehinds。
我也试过:Regex.Split(str, @"\]\.\[").Last().TrimEnd(']');
,但我也不是很喜欢这个解决方案