接着上一篇js之正则表达式学习1,我们继续看下面的例子


[abc]用法:表示匹配方括号中的任意字符
function execreg(reg,str){
			var result =reg.exec(str);
			alert(result);
		}
    reg = /^[abc]/;
str=´bbs.blueidea.com´;
execreg(reg,str);

输出的结果是b

再看下面的例子

function execreg(reg,str){
			var result =reg.exec(str);
			alert(result);
		}
    reg = /^[a-zA-Z][a-zA-Z0-9_]+/;
str=´bbs_´;
execreg(reg,str);

表示开头必须是字母,但结尾可以是字母,数字或下划线

[^abc]:表示匹配非abc字符

function execreg(reg,str){
			var result =reg.exec(str);
			alert(result);
		}
    reg = /[^abc]/;
str=´backdder´;
execreg(reg,str);

输出为k因为back都属于abc集合中
从上述例子,可以知道[^0-9]表示非数字,[^a-z]表示非小写字母

边界

function execreg(reg,str){
			var result =reg.exec(str);
			alert(result);
		}
    reg = /\bc/;
str=´call´;
execreg(reg,str);

匹配了左边的c

function execreg(reg,str){
			var result =reg.exec(str);
			alert(result);
		}
    reg = /\Bc/;
str=´12c2´;
execreg(reg,str);

\B表示非边界,所以成功匹配到了c

function execreg(reg,str){
			var result =reg.exec(str);
			alert(result);
		}
    reg = /\d/;
str=´ec2e´;
execreg(reg,str);

\d表示只匹配数字,输出为2.同理\D表示非数字

function execreg(reg,str){
			var result =reg.exec(str);
			alert(result);
		}
    reg = /\D/;
str=´2c2e´;
execreg(reg,str);

输出为c

\s匹配单个空格,常用的是\s.+匹配空格后所有不换行的字符

function execreg(reg,str){
			var result =reg.exec(str);
			alert(result);
		}
    reg = /\s.+/;
str=´2 c2e´;
execreg(reg,str);

本例输出c2e

\S 遇到空格正则匹配就停止

function execreg(reg,str){
			var result =reg.exec(str);
			alert(result);
		}
    reg = /\S/;
str=´2 c2e´;
execreg(reg,str);

本例输出2

/\w/=/[a-zA-Z0-9_]/

function execreg(reg,str){
			var result =reg.exec(str);
			alert(result);
		}
    reg = /\w+/;
str=´2c2e´;
execreg(reg,str);

如果想返回中文

function execreg(reg,str){
			var result =reg.exec(str);
			alert(result);
		}
    reg = /\W+/;
str=´中文´;
execreg(reg,str);

本文为multifeeling原创,转载请注明来自multifeeling