У меня есть следующее регулярное выражение в программе на С#, и у меня возникают трудности с пониманием:
(?<=#)[^#]+(?=#)
Я разберусь с тем, что, как я думаю, понял:
(?<=#) a group, matching a hash. what `?<=`?
[^#]+ one or more non-hashes (used to achieve non-greediness)
(?=#) another group, matching a hash. what the `?=`?
Итак, проблема у меня - это часть ?<=
и ?<
. От чтения MSDN ?<name>
используется для групп имен, но в этом случае угловая скобка никогда не закрывается.
Я не мог найти ?=
в документах, и поиск там действительно сложный, потому что поисковые системы будут в основном игнорировать эти специальные символы.