FAQ: Introduction to Form Validation - Regular Expressions

This community-built FAQ covers the “Regular Expressions” exercise from the lesson “Introduction to Form Validation”.

Paths and Courses
This exercise can be found in the following Codecademy content:

Learn PHP

FAQs on the exercise Regular Expressions

There are currently no frequently asked questions associated with this exercise – that’s where you come in! You can contribute to this section by offering your own questions, answers, or clarifications on this exercise. Ask or answer a question by clicking reply (reply) below.

If you’ve had an “aha” moment about the concepts, formatting, syntax, or anything else with this exercise, consider sharing those insights! Teaching others and answering their questions is one of the best ways to learn and stay sharp.

Join the Discussion. Help a fellow learner on their journey.

Ask or answer a question about this exercise by clicking reply (reply) below!
You can also find further discussion and get answers to your questions over in Language Help.

Agree with a comment or answer? Like (like) to up-vote the contribution!

Need broader help or resources? Head to Language Help and Tips and Resources. If you are wanting feedback or inspiration for a project, check out Projects.

Looking for motivation to keep learning? Join our wider discussions in Community

Learn more about how to use this guide.

Found a bug? Report it online, or post in Bug Reporting

Have a question about your account or billing? Reach out to our customer support team!

None of the above? Find out where to ask other questions here!

“The pattern [^]*\d{3}[^]*\d{3}-\d{4} will match the two example phone numbers.”

Why?

1 Like

Same question here…I have no idea.

Regex Is extremely important when it comes to validation of forms, which is what the overall lesson is about. I’m fuzzy on regex myself, so I wish they went more in depth on it…

As someone who works with regex a lot I’m very confused about the use of [^]* in this regex pattern. From what I can tell in my research this pattern is exclusive to Javascript and it seems to me like bad practise to teach people this when it’s not applicable elsewhere. In regex we would just use .* to match all characters of any type, and I see no reason to use [^]* outside of confusion to be honest. I would love to hear from the course creators as to why this has been done.

Also for @ajax1388235901 and @calnicklin, I appreciate that it’s very long after you asked, but just in case anyone else finds themselves here. [^]* matches any character an infinite number of times i.e. will select everything up until the next rule match. Then we have \d{3} which is saying to select 3 digits. Therefore taken together [^]*\d{3} is saying “Match everything up to and including the first 3 digits you find”. This is then the same for the next section. Then it’s matching the - character, and then 4 digits. All this taken together lets you match any string of numbers separated in a 3-3-4 configuration, hence why it’s able to match the phone numbers, despite them having different formatting.

8 Likes

Appreciate the explanations! Very helpful.

Thanks for this, much appreciated

I had the same question, and I went and asked it to ChatGPT. The reply was really good! You may try if you like :innocent:

Thank you for this explantation!

Thank you that makes so much more sense now! I wish they would have added that bit of info in the course. Much appreciated.