Regex and delimiter in javascript

后端 未结 3 1293
有刺的猬
有刺的猬 2021-01-28 00:52

I am not so good with regex, I need some help and I am stuck...

This is what I got:

EDITED: Now is working fine, take a look at...

http:

相关标签:
3条回答
  • 2021-01-28 01:20

    Alexander Corwin's answer should work fine. I just wanted to add some explanation to his response.

    You don't need square brackets around the 9908 because square brackets mean that any of the characters in them are valid. So what your code was actually trying to do was match either a 9, 0 or 8. When you want to specify a literal string of characters, you can just write them out like he did.

    Ignoring that however, the second problem I see is that you used the wrong quantifier syntax for specifying the length of the 9908 segment. You need to use curly braces to specify specific length ranges like the {3,} does in his code. Parentheses are simply used to create groups of sequences and back-references.

    Additionally, when you aren't creating a RegExp object you should use the shorthand JavaScript regex syntax which is started and ended with a forward slash. You can also add a modifier after the ending slash which changes how the regex is executed. For example:

    var re = /stackoverflow/g;
    

    The 'g' means that it can match multiple times on the subject string. There are several other modifiers which you can find more info on here: http://www.regular-expressions.info/javascript.html

    Your fixed line should look like this:

    var regex = /^9908:\d{3,}$/;
    
    0 讨论(0)
  • 2021-01-28 01:20

    Use this:

    var match = /^9908:[0-9]{3,}$/.test("9908:123");
    ​alert(match);​
    
    0 讨论(0)
  • 2021-01-28 01:42
    var regex = /^9908:\d{3,}$/;
    

    will match exactly 9908: followed by 3 or more digits.

    0 讨论(0)
提交回复
热议问题