Как работает регулярное выражение ‘(? <= #) [^ #] + (? = #)’?
У меня есть следующее регулярное выражение в программе на 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>
используется для именования групп, но в этом случае угловая скобка никогда не закрывается.
Я не смог найти?=
в документах, и поиск его действительно сложен, потому что поисковые системы будут в основном игнорировать эти специальные символы.