Home  >  Article  >  Web Front-end  >  Introduction to js regular expressions

Introduction to js regular expressions

小云云
小云云Original
2018-03-02 11:37:102287browse

本文主要和大家分享js正则表达式简介,希望能帮助到大家。

var reg = /a/mgi;

上面有一个简单的表达式 a代表第一个匹配的字符,i代表不区分大小写,g代表全局匹配(如果不加g 相当于replace找到第一个直接返回)m是多行匹配。(如果字符串中有\n字符出现则需要加上)

 /^a/ 以a开头的

 /b$/ 以b结尾的

  /[^a]/  除了以a开头的

  (abc|bcd) abc或者bcd

  \w === [0-9A-Za-z_]

  \W  与\w取反

  \d===[0-9]

  \s===[\t\n\r\v\f] 空白符

  \b===单词边界  "abc def"   /\bdef/g

                //n+  ===  1到正无穷,表示n可以出现1到正无穷次
		/*var reg = /\w+/g;
		var str = "asdc";
		console.log(str.match(reg));*/
		
		
		
		//n*  ===  0到正无穷,表示n可以出现0到正无穷次
		/*var reg = /\w+/g;
		var str = "asdc";
		console.log(str.match(reg));*/
		
		//n?  ===  0到1,表示n可以出现0到1次
		/*var reg = /\w?/g;
		var str = "asdc";
		console.log(str.match(reg));*/
		
		//n{x}  ===  表示n可以出现x次    n{x,y} 表示n可以出现x到y次
		/*var reg = /\w{1,4}/g;
		var str = "asdc";
		console.log(str.match(reg));*/
		
		
		//    /^abc$/g  表示字符串只能有abc
		/*var reg = /^abc$/g;
		var str = "abc";
		console.log(str.match(reg));*/

还有一些好玩一点的

                //匹配xxxx
		/*var str = "aaaa";
		var reg = /(\w)\1\1\1/g;
		console.log(str.match(reg))
		
		//匹配xxyy
		var str = "aabb";
		var reg = /(\w)\1(\w)\2/g;
		console.log(str.match(reg))*/
		
		
		//aabb替换成bbaa
		/*var str = "aabb";
		var reg = /(\w)\1(\w)\2/g;
		console.log(str.replace(reg,"$2$2$1$1"))//$2第二个子表达式相当于第二个(\w),$1第一个子表达式相当于第一个(\w)
		console.log(str.replace(reg,function($,$1,$2){
			return $2+$2+$1+$1;
		}))*/

		//查找a后边有b的 但是b不参与匹配
		/*var str = "abaaaaa";
		var reg = /a(?=b)/g;///a(?!b)/g;   a后边不是b的
		console.log(str.match(reg));*/

还有一点要切记正则的匹配规则是贪婪匹配就是能多拿绝对不少拿;

var reg = /a{1,3}?/g;//非贪婪匹配 每次匹配一个

正常是每次匹配3个但是加上“?”就变成非贪婪匹配,那每次就按最少的来就是1;

相关推荐:

JS中正则表达式的理解

JavaScript里最常用的20条正则表达式

php正则表达式处理方法

The above is the detailed content of Introduction to js regular expressions. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn