Question: I'm doing this exercise on codeacademy.com, and I stumbled on this exercise that doesn't really make any sense. It gave out an error when I tried to include the hashtag in the first[]. I'm not sure why.

```
//change the regexp to have only good message

var emailregexp = /[a-z0-9._%+-#]+@[a-z0-9.-]+\.[a-z]{2,4}/;
console.log(emailregexp.test("michael.courcy@microsoft.com")?"good":"bad");
console.log(emailregexp.test("michael.courcy@gmail.com")?"good":"bad");
console.log(emailregexp.test("###mic###@microsoft.com")?"good":"bad");

```

 **output** 

```
error

```

Answer: 
You need to escape the `-` before the `#`, otherwise it thinks you are giving a range, for example `0-9`:

```
[a-z0-9._%+\-#]

```

So it would look like:

```
var emailregexp = /[a-z0-9._%+\-#]+@[a-z0-9.-]+\.[a-z]{2,4}/;

```
Because `#` doesn’t come after `+` in the Unicode table.

`+-#` inside square brackets is a *range* (from `+` to `#`). If you want the dash to be a separate character, use `\-` or move it to the end of the bracket: `+#-]`.