**Tell us what’s happening:**

Hey fellow code campers -

I have the correct code but I used a line from the example that I don’t quite understand. Can anyone explain:

(?=\D*\d\d)

Basically this look ahead looks for at least one number.

\D* - looks for not a number, any amount,.

\d\d - then looks for two numbers.

I may have answered my own question, so when writing these looks aheads and having double (?=) (?=) , the two lookahead statements are not added together, you have to search the entire string in both of them? Is that why we need the /D* in front?

**Your code so far**

```
let sampleWord = "astronaut";
let pwRegex = /change/; // Change this line
[spoiler]pwRegex = /(?=\w{5,})(?=\D*\d\d)/;[/spoiler]
let result = pwRegex.test(sampleWord);
```

**Your browser information:**

User Agent is: `Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36`

.

**Link to the challenge:**

https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/regular-expressions/positive-and-negative-lookahead