我在一个C#程序中使用了以下正则表达式,但是我很难理解它:
(?<=#)[^#]+(?=#)
我会简单解释一下我理解的内容:
(?<=#) a group, matching a hash. what's `?<=`?
[^#]+ one or more non-hashes (used to achieve non-greediness)
(?=#) another group, matching a hash. what's the `?=`?
所以我遇到的问题是?<=
和?<
部分。通过阅读MSDN,?<name>
用于命名组,但在这种情况下,尖括号从未关闭。我找不到文档中的
?=
,而且搜索它确实很困难,因为搜索引擎大多会忽略这些特殊字符。