I am trying to split tokens with `@`, and well meanwhile not allowing specific characters. I came up with this

```
(@\w+[^ -+=(><)])

```

But it doesn't work precisely! Suppose our target string is this :

```
 (() >= @a -5 and () <= @7 and ()= @127 and () = @1-7 and ()= @name_asd ()= @'hey this is a string') 

```

it doesn't get single character tokens, and also it seems to accept `-` as a valid character while it shouldn't! I also wanted to be able to parse and match strings like:

```
@'something arbitrary with' 

```

as well, but couldn't figure it out so far.

Update
------

I need to get the token with `@` altogether meaning I want

```
@a  For  () >= @a -5 
@7  For  () <= @7 
@127 For ()= @127
@1  For  () = @1-7  
@name_asd For  ()= @name_asd 
and 
@'hey this is a string' For ()= @'hey this is a string'

```