This question already has answers here:
Regex match entire words only
(7 answers)
Closed 3 years ago.
Im using validates_format_of method to check a input text
Javascript cant read this regex. How or where I can change this regex to be as original:
(?<=^|,|\b)[1-7](?=$|,|\b)
Thanks
UPDATE:
the input text must be one o more digits separated by comma, ex: 1|1,2|1,2,3
As #wiktor said you should use
\b[1-7]\b
As \b only asserts positions, you don't need to worry about matching more than [1-7].
#Code Maniac correctly stated that look behind is not supported in Mozilla and many others, so about it. see
Related
This question already has answers here:
What does this regex mean
(4 answers)
Closed 12 months ago.
After searching for 'working onload event' I found Abhishek's anwser which used /in/ and after that, I tried searching for it but couldn't find anything useful about it, does someone know what does it do?
Without more context, /in/ looks like a regular expression (as mentioned by VLAZ), which you can learn more about here: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions
I also like https://regex101.com/ for help reading or writing complex regular expressions. Just make sure to select the Javascript "flavor" as different languages implement regular expressions differently.
This question already has answers here:
JavaScript - string regex backreferences
(5 answers)
Regex for detecting url in plain form and in markdown [closed]
(1 answer)
Closed 2 years ago.
I have the following problem that I'm trying to solve with String.replace:
I have a random text that contains IDs of tickets in some system e.g. JIRA-123. I want to replace then with Markdown links like so:
text.replace(/(JIRA-\d+)/g, "[$1](example.com?id=$1)");
The problem I'm struggling with is that I want this operation to be idempotent i.e. if a given ID is already wrapped in the URL I want it to be ignored and I'm struggling to figure out a correct expression to achieve that.
Any help?
This question already has answers here:
How do I split a string with multiple separators in JavaScript?
(25 answers)
Closed 3 years ago.
I have a string "str1+str2-str3*str4".
I want to split it so I get an array
['str1','+','str2','-','str3','*','str4'].
Could someone help provide a solution?
If JS split lets capture groups become elements, then this should work
/([-+*\/])/
if not, I suggest using a regular find all type thing
using this
/([-+*\/]|[^-+*\/]+)/
otherwise, I'll just delete this.
This question already has an answer here:
Learning Regular Expressions [closed]
(1 answer)
Closed 4 years ago.
I'm not good with RegEx and I would like have a RegEx for next URL scheme.
Can you help me to create a regular expression for that URL?
https://fonts/mapbox/{fontstack}/{range}.pbf
And if possible, show me one page to learn and understand it.
The best page I use to explain RegEx is https://regex101.com/.
In case your characters are all word characters, you can just use:
https://fonts/mapbox/(\w+)/(\w+).pbf
In the first group you will have "fontstack" and in the second you will have "range".
If you want to include a bit more of possible characters, maybe:
https://fonts/mapbox/([^\s\/])/([^\s\/]).pbf
You can see extensive explanations to both introducing them on the page I provided at the start.
This question already has answers here:
Negative lookbehind equivalent in JavaScript
(11 answers)
Negative lookahead Regular Expression
(7 answers)
Closed 8 years ago.
Something like the word 'pie' not preceded by the word 'pizza'. I'm fairly new to regexes, and this problem has been causing me trouble.
If you could provide an answer using JavaScript regex syntax, i'd be that much more thankful.
Edit: I could probably replicate the functionality by searching individually for the strings 'pizza pie' and 'pie' in two separate regexes, and only count the string indexes that appear in the second find but not the first. It's a convoluted solution that's not quite as fast, but can be easily multithreaded so I suppose it's okay.
This is called negative lookbehind, and a regex for "x not preceded by y" would look like (?<!y)x. Unfortunately, JavaScript doesn't support negative lookbehind, but check out this question for alternatives to it.