正则表达式

73 阅读1分钟

量词

通过量词可以设置一个内容出现的次数量词只对它前边的一个内容起作用

  • {n}正好出现n次
  • {m,n}出现m-n次
  • {m,}m次以上
  • 加号至少一个,相当于{1,}
  • 星号 0或者多个,相当于{0,}
  • ? 0或者1个,相当于{0,1}

检查一个字符串中是否以a开头

  • /^a/表示开头、、匹配开头的a
  • /a$/表示结尾、、匹配结尾的a

元字符

  • \w 表示任意字母,数字,下划线 [A-z0-9]
  • \W 除了任意字母,数字,下划线,[^A-ze-9]
  • \d 任意的数字[0-9]
  • \D 除了数字[^0-9]
  • \s 空格
  • \S 除了空格
  • \b 单词边界 /\b单词\b/,这样写表示一个独立的单词
  • \B 除了单词边界

正则表达式还可以和字符串搭配使用;

search()

返回匹配到的第一个字符串的下标,否则返回-1 
        let str = '123abc'
        console.log( str.search(/[a-z]/) )

match()

如果没有找到任何匹配的文本,返回 null
否则,它将返回一个数组(依赖于是否具有全局标志 g)
console.log( str.match(/[0-9]/) ) 

replace()

返回一个新的字符串
let str = 'abc123qwe'
let newStr = str.replace(/[0-9]/g,'oo');

split()

let str = 'a1b2c3d4e5f'
console.log( str.split('-') ) 
以数字为分隔符来分割 => [a,b,c,d]
匹配不到会把整个字符串当成数组返回
split的第二个参数表示 分割成几个数组的意思