Detailed explanation of regular expressions in JavaScript

Detailed explanation of regular expressions in JavaScript

  1. What is a regular expression?
    Regular expression: a pattern used to match character combinations in a string. In javascript, regular expressions are also objects
  2. The role of regular expressions?
    Matching (verification form √)
    replacement (filtering sensitive words)
    extraction (extracting specific components from a string)
  3. Two ways to create regular expressions
    Method 1: Constructor
    Method 2: Literals
//方法一
var regexp = new RegExp(/123/); //正则表达式里面不需要加引号
console.log(regexp);  // /123/
//方法二
var rg=/123/;
console.log(rg);  //  /123/
  1. The test() method, to check whether the regular expression conforms to the specification, and the return value is a Boolean value
console.log(rg.test('abc'));  //false
  1. Regular expression predefined class
    What is a predefined class?
    Predefined classes refer to the abbreviations of some common patterns
    a. \d——>[0-9]
    b. \D——>non[0-9]
    c. \w——>[A-Za- z0-9_]
    d. \W——>Non[A-Za-z0-9_]
    e. \s——>[\t\r\n\v\f] (space, line feed, tabulation)
    f. \S——>Non-space, line feed, tabulation
var reg1 = /\d/;
console.log(reg1.test(0123)); //true
console.log(reg1.test('afaf')); //false

var reg2 = /\D/;
console.log(reg2.test('ac;adk')); //true
console.log(reg2.test(14124)); //false

var reg3 = /\s/;
console.log(reg3.test(' ')); //true
console.log(reg3.test('ad')); //false
  1. Special characters in regular expressions
    Boundary characters: ^ (start with) $ (end with what)
    Character class: [] (indicating that there is a series of characters to choose from, as long as it matches one of them)
    Range character: [- ] (From where to where)
    Inverted: ^
    Priority: {}
var rg = /abc/; //只要包含有'abc'字符串的都返回true,可以不连续
console.log(rg.test('adaaaaaabcad')); //true
console.log(rg.test('askfhlafjla')); //false

var rg1 = /^ki/; //以'ki'开头的字符串都返回true
console.log(rg1.test('ki')); //true
console.log(rg1.test('k1i123')); //false

var rg2 = /^jisoo$/; //必须是'jisoo'才能返回true
console.log(rg2.test('jisoo')); //true
console.log(rg2.test('jennie')); //false
console.log(reg.test('blackpinkjisoorose')); //false

var rg3 = /[abc]/; //只要包含有a或b或c的字符都返回true
console.log(rg3.test('qao')); //true
console.log(rg3.test('qiq')); //false

var rg4 = /^[abc]$/; //字符串里只有一个a或一个b或一个c才返回true
console.log(rg4.test('c')); //true
console.log(rg4.test('ca')); //false

var rg5 = /[a-z]/; //有a~z任意一个小写字母都可以返回true
console.log(rg5.test('afasgfhaiufhalhc;;;;;ai')); //true
console.log(rg5.test('AGKGUKYYGTK')); //false

var rg6 = /^[a-zA-Z0-9]$/; //有a-z或A-Z或0-9里任何一个字符都返回true
console.log(rg6.test('9')); //true
console.log(rg6.test('aa')); //false

var rg7 = /^[^a-zA-Z0-9]$/; //有a-z或A-Z或0-9里任何一个字符就返回false
console.log(rg7.test('+')); //true
console.log(rg7.test('a')); //false

var rg8 = /^abc{3}$/; //只是让c重复三次才返回true
console.log(rg8.test('abccc')); //true
console.log(rg8.test('abcc')); //false

var rg9 = /^(abc){3}$/; //把abc重复3次
console.log(rg9.test('abcabcabc')); //true
console.log(rg9.test('aaabbbccc')); //false
  1. Quantifiers in regular expressions
    a. * (repeat zero or more times)
    b. + (repeat one or more times)
    c.? (Repeat zero or one time)
    d. (n) (repeat n times)
    e. (n,m) (repeat n to m times)
var reg1 = /^a*$/; //让前面的a这个字符重复0次或更多次
console.log(reg1.test('')); //true
console.log(reg1.test('aa')); //true
console.log(reg1.test('aaa')); //true
console.log(reg1.test('aaaa')); //true

var reg2 = /^a+$/; //让前面的a这个字符重复1次或更多次
console.log(reg2.test('')); //false
console.log(reg2.test('aa')); //true
console.log(reg2.test('aaa')); //true
console.log(reg2.test('aaaa')); //true

var reg3 = /^a?$/; //让前面的a这个字符重复0次或1次
console.log(reg3.test('')); //true
console.log(reg3.test('a')); //true
console.log(reg3.test('aaa')); //false
console.log(reg3.test('aaaa')); //false

var reg4 = /^a{3}$/; //让前面的a这个字符重复3次
console.log(reg4.test('')); //false
console.log(reg4.test('a')); //false
console.log(reg4.test('aaa')); //true
console.log(reg4.test('aaaa')); //false

var reg5 = /^a{4,}$/; //让前面的a这个字符重复4次或多次
console.log(reg5.test('')); //false
console.log(reg5.test('aaaaaaaaaaa')); //true
console.log(reg5.test('aaa')); //false
console.log(reg5.test('aaaa')); //true

var reg6 = /^a{4,6}$/; //让前面的a这个字符重复4次到6次
console.log(reg6.test('')); //false
console.log(reg6.test('aaaaaaaaaaa')); //false
console.log(reg6.test('aaaa')); //true
console.log(reg6.test('aaaaa')); //true
console.log(reg6.test('aaaaaa')); //true


Guess you like

Origin blog.csdn.net/Angela_Connie/article/details/110353073