Max Max - 1 month ago 8
Javascript Question

Python Regex to Javascript

I'm having trouble fully understanding this Python 2 regular expression to validate email addresses. I found a great example here.

r"[^@]+@[^@]+\.[^@]+"


So according to regex101 this means we need atleast 1 value before the '@' symbol, 1 '@' symbol, and any number of characters after the '@' symbol and atleast 1 '.' symbol. First of all correct me if I'm wrong, but secondly no documentation anywhere explains what "[^@]" means. So I'm having trouble understanding what the above code means.

All I would like to do is convert the above code to Javascript but have only found help with the following case:

/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/


This means very little to me, but have found this useful example here. The problem is that the JavaScript expression over checks.

For example, the following string passes in Python but fails the JS expression:

hi@gmail.com.edu/org


It really comes down to 1 question. How can I correct the JavaScript regex to match that of the Python regex?

Max Max
Answer

Simply convert python regex to Javascript.

Python: r"[^@]+@[^@]+\.[^@]+"

Javascript: /[^@]+@[^@]+\.[^@]+/