JavaScript正则表达式基础

创建正则表达式,一般有两种写法

//定义式创建正则,写法:两个斜杠中间放正则式子
const reg = /鸡/;
//new关键字创建正则,写法:两个斜杠中间放正则式子或直接去掉斜杠放字符串式表达式
const regExp = new RegExp('鸡')

.test('需要验证的字符'),正则身上有个方法.test用来验证正则的匹配结果

预定义类

// .的意思是除了换行和回车之外的任意字符
//如果检测的字符串里面包含 除了换行和回车之外的任意字符 那就返回true,否则返回false.
console.log(/./.test("\r"))// false   \r代表return,return表示回到一行的开头
console.log(/./.test("\n"))//false    \n代表newline,新的一行
console.log(/./.test("\r\n"))//false   \r\n表示换行并将光标定位到一行的开头
console.log(/./.test(""))//false
console.log(/./.test("12klk"))//true	

// \d表示数字,d是英文digit的意思
console.log(/\d/.test("kjdksj"));//false
console.log(/\d/.test("kj7ksj"));//true	

// \D表示非数字的意思
console.log(/\D/.test("kjdksj"));//true
console.log(/\D/.test("k2"));//true
console.log(/\D/.test("12345"));//false	

// \s表示表示不可见字符
console.log(/\s/.test("\t"));//true  \t 表示制表符
console.log(/\s/.test("\f"));//true  \t 表示换页符
console.log(/\s/.test("\v"));//true	 \v 表示垂直制表符
console.log(/\s/.test("\n"));//true	 \n 换行符
console.log(/\s/.test("\r"));//true	 \r 回车符
console.log(/\s/.test(" "));//true	
console.log(/\s/.test("jhsjhsdh"));//false	

// \S表示表示可见字符 跟小s相反
console.log(/\S/.test("\t"));//false  
console.log(/\S/.test("jinitaimei"));//true  
 
 // \w表示单词字符(所有单词和数字以及下划线_)
 console.log(/\w/.test("rerer3434"));//true  
 console.log(/\w/.test("3434"));//true  
 console.log(/\w/.test("wewewe"));//true  
 console.log(/\w/.test("___	"));//true  
 console.log(/\w/.test("@##$$"));//false  
 
 // \W表示非单词字符(所有非单词和数字以及下划线_)
 console.log(/\W/.test("rerer3434"));//false  
 console.log(/\W/.test("3434"));//false  
 console.log(/\W/.test("wewewe"));//false  
 console.log(/\W/.test("___wewe"));//false  
 console.log(/\W/.test("@##$$"));//true  

自定义类

  console.log(/鸡/.test("鸡霓太美"));//true
  console.log(/鸡/.test("基尼太美"));//false

或跟优先级

	// a|b 表示或,此处表示字母a或者b
	console.log(/a|b/.test("asasas"));//true
	console.log(/a|b/.test("sbbbbbbbb"));//true
	console.log(/a|b/.test("dfdfdfdf"));//false
	
	// q(a|b)q 表示优先计算(a|b),跟普通的数学运算一样
	console.log(/q(a|b)q/.test("qaq"));//true
	console.log(/q(a|b)q/.test("qbq"));//true
	console.log(/q(a|b)q/.test("qaa"));//false
	console.log(/q(a|b)q/.test("qqqq"));//false

简单类

	// [abc]表示abc中的任意一个
	console.log(/[abc]/.test("qaq"));//true
	console.log(/[abc]/.test("bbbc"));//true
	console.log(/[abc]/.test("cc1213"));//true
	console.log(/[abc]/.test("dddfff"));//false
	console.log(/a[abc]a/.test("aaa"));//true
	console.log(/a[abc]a/.test("aca"));//true
	console.log(/a[abc]a/.test("aa"));//false

 范围类

	// [a-z]表示范围类a到字母z,[0-9]表示范围类0到数字9
	console.log(/[a-z]/.test("qaq"));//true
	console.log(/[a-z]/.test("cc"));//true
	console.log(/[a-z]/.test("2323"));//false
	console.log(/[0-9]/.test("2"));//true
	console.log(/[0-9]/.test("20"));//true
	console.log(/[0-9]/.test("wewe"));//false

负向类

	// [^aa]表示除aa字符以外的任意字符
		console.log(/[^aa]/.test("aa"));//false
		console.log(/[^aa]/.test("vvvvvvvvaa"));//true
		console.log(/[^aa]/.test("wewewe"));//true
		console.log(/[^aa]/.test("12wewea"));//true

组合类

待更新

你可能感兴趣的:(javascript,正则表达式,开发语言)