Did you try lookbehind to see if it works around lists? If this doesn't work, maybe try making the whitespace after a list a non-capture group? That whitespace isn't very important to the scope anyway.

```
(?<=^|\\s+)(@)(\\w+)
```